Python的基本数据类型有数字、字符串、列表、元组和字典。下面挑选列表、元组和字典进行介绍:
列表(List):使用[...]表示一组数据,列表中的元素可以是数字、字符串或者列表,例如:data=["小明","小东","小花",456,["东","南","西","北"]]。列表中的元素是有序的,可以通过列表名[头下标:尾下标]来获取列表中的某些或者全部元素,取出的元素是从头下标开始,到尾下标-1,并不包括尾下标的元素。如果头下标不写,则默认为0;如果尾下标不写,则默认为列表的个数。读者可以在Python代码中打印测试:data[1:3],data[:],data[:3],data[1:],分表表示列表中的哪些元素。
例子1:获取列表中特定位置的元素
data=["小明","小东","小花",456,["东","南","西","北"]] print(data[1:3]) print(data[:]) print(data[:3]) print(data[1:]) |
图1 列表测试结果
元组(Tuple):与列表类似,但是使用(...)表示一组数据。元组一旦被定义,后面其内容不能再改变。例如:data=("小明","小东","小花",456,("东","南","西","北"))。
字典(Dictionary):用{...}表示一组数据对,每对数据由“关键字:值”的形式进行表示,例如:
data={"name":"小东","性别":"男","年龄":15}
print(data["年龄"]) #输出关键字"年龄"对应的值
0 2带有下划线的变量和函数下划线所定义的变量或者函数,对于Python而言,是具有特殊的含义的。带有下划线的变量或者函数一般在类的定义中有特殊的约定,在下一篇文章《跟我快速学Python:面向对象》中将做专题介绍。
0 3__name__内置属性在模块(Python程序.py文件)中如果使用__name__属性,则其有两种取值:
如果直接运行该模块,则__name__的值为"__main__";
如果模块是被import模块名方式导入,则__name__的值为模块名。
因此,如果一个模块的主要用途是提供其定义的函数供其他模块使用,而不是直接被执行,那么在该模块中可以编写如下代码:
if __name__== '__main__':
print(‘请在模块中使用’)
0 4迭代器迭代是通过迭代器来访问可迭代对象(iterable,例如:列表、元组都是可迭代对象)中的元素的一种方式,其中迭代器是一个可以遍历可迭代对象中的元素的对象,通过iter(可迭代对象)方法来生成迭代器,然后循环使用next(迭代器)来获得迭代器的下一个元素。Python将实现了__next__函数的对象都认为是迭代器。
使用迭代器的代码一般编写步骤如下:
1. 生成迭代器对象:it=iter(可迭代对象)
2. 循环遍历集合中的元素:for x in it:
3. 对集合中的元素进行处理,其中第2步的x代表迭代器中的当前遍历元素
例子2:通过迭代器的方式遍历列表中的数据
data=["小明","小东","小花",456,["东","南","西","北"]] it=iter(data) for x in it: print(x); |
通过数学计算,可以以简约的代码来快速生成具有特殊规则的列表。语法如下:
[exp for iter_var in iterable if_exp]
其中:
exp是生成列表元素的计算表达式
for 表示采用循环的方法来生成列表,可以使用多重循环
iter_var是分别从可迭代对象iterable中获得的数值,会出现在exp中
iterable是具有一组数值的可迭代对象,例如:列表、元组
if_exp如果取值为真,exp进行计算,如果取值为假,则只迭代,exp不做计算。可以不填写if_exp。
例子3:列表生成式的应用
#range(start, stop)用于创建列表,数据范围为:[start开始,stop-1] data=[x*x for x in range(0,11) if x%2!=0] #取[0,10]中的奇数数值进行平方运算,生成列表 for x in data: #使用 end=''表示输出不换行。注意:不同类型的数据类型不能直接用”+”进行相连 print(str(x)+" ", end=''); |
上面的运行结果将是[1 9 25 49 81],即生成一个列表,元素是[0,11]之间的奇数的平方。
注意:列子3并没有使用迭代器,也一样可以通过循环来遍历列表中的元素,其实在Python内部中,对for..in..循环中自动默认运用了迭代器。
END -扫码关注我们-