1. 直接赋值 a = [] 2. 指定类型,转换数据类型 a = list((2,3,4)) 3. 通过列表内涵,创建新列表 a = [1,2,3,5] # 对于a中元素, 逐个放入b中 b = [i for i in a] 4. 使用分片操作 a = [1,2,3,4,5] b = [:]
for 循环创建列表
# 对于a中元素, 逐个放入b中 b = [i for i in a] # 每个数据乘以10 得到 [10, 20, 30, 50] c = [i*10 for i in a] # 过滤出偶数 得到 [0,2,4,6,8] d = [i for i in range(0,10) if i%2 == 0]
for 循环嵌套创建列表
列表生成可以嵌套,等于两个for循环嵌套
# [11, 21, 31, 51, 12, 22, 32, 52, 13, 23, 33, 53, 15, 25, 35, 55] l = [m+n for m in a for n in c] # 等价于 for m in a: for n in c: # m+n
for循环嵌套读取数据
a = [[1,2], [3,4], [5,6]] k, v的个数应该跟解包出来的变量个数一致, 否则会报错 for k, v in a: print(k, '---', v)
1. 创建空元祖 t = () 2. 创建只有一个值的元祖, 一定要有逗号, (1)为int型,代表一个数 t = (1,) t = 1, 3. 创建多个值的元祖 t = (1,2,3,4,5) t = 1,2,3,4,5 4. 使用其他结构转换成元祖 l = [1,2,3,4,5] t = tuple(l)
元祖遍历
1. 单层元祖遍历 t = (1,2,3, 'ha','xi','he') for i in t: print(i, end=" ")
2. 双层元祖遍历 t = ((1,2,3), ('ha','xi','he')) # (1,2,3) ('ha','xi','he') for i in t: print(i) # k m n 和最内层的个数对应 for k,m,n in t: print(k, '--', m, '--', n)
集合set
同数学中额集合概念一致, 即包含0或多个数据项的无序组合
集合中的元素不可重复
集合是无序组合,没有索引和位置的概念
集合通常用于表示成员间的关系,元素去重等
集合创建
# set()函数用于集合的生成, 返回结果是一个无重复且排序任意的集合 a = set([1,1,1,2,3,4])