有一段时间没写Python了。今天介绍Py的数据对象类型和包括条件判断、循环在内的Py编程基础。就像R语言中的向量、数据框和因子等数据对象类型一样,Py基本的数据类型包括list(列表)、tuple(元组)、dict(字典)和集合(set)等类型。另外也简单介绍下if-else条件判断、for和while循环等Py编程基础知识。
>>>>
Python 数据类型
Py主要数据类型包括list、tuple、dict和set等对象,下面逐一介绍这些Py数据类型。
list(列表)是Py内置的一种数据类型,作为一个有序的数据集合,list的元素是可变的,可随意添加或删减list中的元素。在Py交互式命令中运行list相关代码:
>>> NBAplayer = ['Westbrook', 'Harden', 'Durant']
>>> NBAplayer
['Westbrook', 'Harden', 'Durant']
对象NBAplayer就是一个list,我们可以使用索引来访问list中的每个元素,Py中的索引和R不一样,是从0开始计算的:
>>> NBAplayer[0]
'Westbrook'
>>> NBAplayer[2]
'Durant'
也可以倒着访问list中的每个对象:
>>> NBAplayer[-1]
'Durant'
在往list中添加对象时可以使用append方法:
>>> NBAplayer.append('James')
>>> NBAplayer
['Westbrook', 'Harden', 'Durant','James']
想要删除list中的某个对象可以使用pop方法:
>>> NBAplayer.pop(1)
'Harden'
>>> NBAplayer
['Westbrook', 'Durant']
list 也可以作为单个元素包含在另一个list中:
>>> player=['Curry','Leonard']
>>> NBAplayer=['Westbrook', 'Harden',palyer,'Durant']
再来看Py的另一种重要的数据类型:tuple(元组)。tuple和list十分类似,不同的是tuple是以括号()形式存在的,且tuple一旦初始化后就不能像list一样可以随意修改了。
>>> NBAplayer = ('Westbrook', 'Harden', 'Durant')
>>> NBAplayer
('Westbrook', 'Harden', 'Durant')
tuple具有和list一样的对象元素访问功能,这里不再赘述。需要注意的是,因为tuple元素是不可变对象,相应的也就没有和list一样的append、pop等修改元素的方法。
最后看Py中比较特殊的一种数据类型:dict(字典)。字典,顾名思义,肯定是具有强大的数据查询功能了。dict在其他程序语言中叫做map,具有key-value(键-值)的存储功能,看下面的示例:
>>> NBAplayer={'Westbrook':32.3, 'Harden':29.9}
>>> NBAplayer['Westbrook']
32.3
除了在创建dict时指定各元素的key-value之外,还可以通过key来单独指定值放入:
>>> NBAplayer['Durant'] = 25.7
>>> NBAplayer['Durant']
25.7
dict查找或插入数据的速度极快,但也占用了大量的内存,这一点正好和list相反。另一种和dict类似的数据类型叫做set(集合),它是一组key的集合但没有保存value,这里就不做介绍了。
>>>>
Python 编程基础
这里主要介绍if-else条件判断以及for和while的循环语句。条件判断和循环作为任一编程语言的基础课有必要在此重点强调说明。先看Py中的if-else条件判断语句:
points=21.5
if points >= 20:
print('You are an all star palyer')
else:
print('Good job,to be an all star palyer!')
我们也可以用elif做更细致的条件判断:
points=21.5
if points >= 30:
print('You are a MVP palyer')
elif 25<=points<30:
print('You are a quasi MVP player')
elif 20<=points<30:
print('You are an all star palyer')
else:
print('Good job,to be an all star palyer!')
Py循环语句和其他语言原理一致,这里不再详细展开,就以常见的高斯求和使用for和while循环为例来展示Py的循环功能。
for循环:
sum=0
for x in range(101):
sum = sum + x
print(sum)
5050
while循环:
sum=0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
5050
通过上面的示例,大家可以看到其实Py的数据类型和一些编程基础都十分简单,这也与Py整体的语言风格有关,即使在行外人读起来也像读英文一样通俗易懂。