元组类型3个特点:
1.元组中元素可以是不同类型
t=123,456,”er”
2.存在先后关系,t[0]
3.元组定义以后不能更改,也不能删除
4.元组不能进行tuple.sort排序,因为会对元组进行改变,但是可以进行sorted,因为这样只是返回了副本
>>> aTuple=(3,2,6)
>>> sorted(aTuple)
[2, 3, 6]
>>> aTuple.sort()
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
aTuple.sort()
AttributeError: 'tuple' object has no attribute 'sort'
5.元组作为函数特殊的返回类型
>>> def f():
return 1,2,3
>>> f()
(1, 2, 3)
列表类型:a=[1,2,3,4] print(a)
每个元素类型可以不同,大小没有限制
列表解析
[expression for expr in sequence1
for expr2 in sequence2
for exprN in sequenceN
if condition]
>>> [x for x in range(10)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> [x**2 for x in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>>
>>> [x for x in range(10) if 2<x<5]
[3, 4]
>>> [(x,y) for x in range(2) for y in range(2)]
[(0, 0), (0, 1), (1, 0), (1, 1)]
>>>
序列常用函数:
函数 | 描 述 |
list(iter) | 将可迭代对象 iter 转换成列表 |
tuple(iter) | 将可迭代对象 iter 转换成元组 |
str(obj) | 将对象 obj 转换成字符串表示 |
len(sequence) | 返回 sequence 的长度,为整型类型 |
sorted(iter, key, reverse) | 返回可迭代对象 iter 排序后的列表,key 用 来指定排序的规则, reverse 用来指定顺序 还是逆序排列 |
reversed(sequence) | 返回序列 sequence 逆序排列后的迭代器 |
sum(iter, start) | 将 iter 中的数值和 start 参数的值相加, 返回 float 类型数值 |
max(iter) | 返回可迭代对象 iter 中的最大值 |
min(iter) | 返回可迭代对象 iter 中的最小值 |
enumerate(iter[, start]) | 返回一个 enumerate 对象,可生成一个迭代 器,该迭代器的元素是由参数 iter 元素的 索引和值组成的元组 |
zip(iter1 [,iter2 [...]]) | 返回一个 zip 对象,可生成一个迭代器,该 迭代器的第 n 个元素是每个可迭代对象的 第 n 个元素组成的元组 |
集合
是一个无序不重复的序列
>>> a=set('suner')
>>> b=set('suu')
>>> 'u' in a
True
>>> a==b
False
>>> a<b
False
>>> set('sun')<a
True
队列
from queue import Queue
q = Queue()
for i in range(5):
q.put(i) # 进队列
print(q.qsize()) # 返回队列大小
while not q.empty(): # 判断是否队列是否为空
print(q.get()) # 出队列