'''
列表转字符串,L = [1, 2, 3, 5, 6],如何得出 ‘12356’?

列表推导式
语法:

变量名 = [结果 for 变量 in 列表 for 变量 in xxx]
变量名 = [结果 for 变量 in 列表 if 条件]

'''
# 使⽤推导式,将数组中的数字转成

L =[1,2,3,5,6]
lists =[str(i) for i in L]

#print(lists)
#print(''.join(lists))


#快速创建一个包含元素1-10的列表
list1 = [i for i in range(1, 11)]

#print(list1) ['1', '2', '3', '5', '6']

# 快速创建一个包含1-10之间所有偶数的列表

list2 = [i for i in range(1,11) if i%2==0]

# print(list2) # [2, 4, 6, 8, 10]

# 现在有一列表 lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] ,求出 1/4/7 和 1/5/9元素,思考如何取出

lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]


for i in range(len(lst)):
# print(i) # 0 1 2
'''
lst[0] [1, 2, 3]
lst[1] [4, 5, 6]
lst[2] [7, 8, 9]
1 4 7 分别是取 lst[0] lst[1] lst[2] 第一个值

'''
lst1 = lst[i][0]
# print(lst1)

lst1 = [lst[i][0] for i in range(len(lst))]

# print(lst1) [1, 4, 7]

lst2 = [lst[i][i] for i in range(len(lst))]
# print(lst2) # [1, 5, 9]


a = [lambda x: x * i for i in range(3)] # 此处定义了一个装了 3 个匿名函数函数的列表,尚未调用匿名函数,
# 调用时全局变量 i 变为 2 相当于 a = [lambda x:x*2, lambda x:x*2, lambda x:x*2]
print(type(a[0]), "---", a[0]) # -> x为函数形参,i为全局变量,程序执行到此处i变为2
print(a[0](2))
print(a[1](2))
print(a[2](2))

 

世界上最美的风景,是自己努力的模样