列表推导式基本语法:[结果 for循环 if条件] 其中if条件不是必须的,如果有if,则if成功才把“结果”放进循环
l=[]
for i in range(1,11):
l.append(i)
print(l)
# 列表推导式基本语法:[结果 for循环 if条件] 其中if条件不是必须的,如果有if,则if成功才把“结果”放进循环
# 可变成下面这样
l2 = [i for i in range(1,11)]
print(l2) # 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 把1-10中,所有奇数的添加到列表
l3 = [i for i in range(11) if i % 2 ==1 ] # 条件为真才执行结果1
print(l3) # 输出:[1, 3, 5, 7, 9]
# 把1-10中,所有奇数的平方加到列表
l4 = [i**2 for i in range(11) if i %2 ==1]
print(l4) # 输出:[1, 9, 25, 49, 81]
# python x 1 ~ python x 255
l5 = [f'python x {i}' for i in range(1,256)]
print(l5) # ['python x 1',......... 'python x 255']
字典推导式
# 字典推导式{}
l6 =['迪迦','戴拿','盖亚']
d = {i:l6[i] for i in range(len(l6))}
print(d) # {0: '迪迦', 1: '戴拿', 2: '盖亚'}
集合推导式
# 集合推导式→会去重
l7 = ['迪迦','迪迦','戴拿','盖亚']
s = {i for i in l7}
print(s) # {'迪迦', '戴拿', '盖亚'}
还有:元组没有推导式,元组是不可变的