1、列表
# 列表可以添加任何数据类型
my_list = list()
my_list.append([1,2,3])
my_list.append(("twf", 3, [12, 2]))
print(my_list[4][2][1])
# 列表的extend操作
my_list.extend([[1]])
my_list.insert(1, ("yangxinyue"))
print(my_list)
# 等价于extend操作
teacher = list()
# teacher.extend('abcdefgh')
teacher = list('abcdefgh')
print(teacher)
# 有规律的想列表添加元素
i = 0
new_list = []
while i < len(my_list):
new_list.append(my_list[i])
i += 1
print(new_list)
# 使用enumerate通过列表构造字典
dic = {}
for i, value in enumerate(my_list):
dic[i] = value
2、遍历列表访问字典
# 2.1
a = [0, 1]
yang = (a[0],)
yue = (a[1],)
dic = dict()
dic[yang] = "lo"
dic[yue] = "ve"
for i in a:
print(i)
print(dic[(i,)])
# 2.2
dic = dict()
li = [(1,), (2,), (3,)]
r = 'y'
for i in li:
dic[i] = r
r += "y"
for i in li:
print(dic[i])
# 把列表添加到字典中
dic = dict()
yang = list('yagnxinyue')
for i, values in enumerate(yang):
dic[i] = values
print(dic.get(1))
print(dic)
# 打印一个*三角形
li = list('*****')
for i, j in enumerate(li):
print(i*j)
3、列表推推导式
# 列表推导式:快速生成一个有规则的列表
# lis = [i for i in range(199)]
# print(lis)
# lis = [i for i in range(100) if i % 2 == 0]
# print(lis)
# lis = ["*" for _ in range(10)]
# print(lis)
# lis = [(i, j) for i in range(2) for j in range(1, 4)]
# print(lis)
# 列表也可以使用步长切片,
a = [x for x in range(101)]
b = [a[x:x+3] for x in range(0, len(a), 3)]
print(b)
# 列表解析
M = [[1,2,3], [4,5,6],[7,8,9]]
# 可以取出矩阵中的第二列
col = [row[1] for row in M]
# 取对角线
col = [M[i][i] for i in [0,1,2]]