代码拉取完成,页面将自动刷新
import random
# 列表推导
# [表达式 若干for/if子句] 每一个子句都是前一个子句的下一级
a = [x for x in range(10)]
print(a) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a = [x for x in range(10) if x % 2 == 0]
print(a) # [0, 2, 4, 6, 8]
li = ["a", "b", "c", "d"]
a = [(x, li[x]) for i in range(3) for x in range(len(li))]
print(a)
# [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
a = ["fe", "ewf", "weff", "s"]
b = ["op", "uyt", "k", "hkuu"]
c = [x + y for x in a for y in b if len(x) + len(y) <= 5]
# ['feop', 'feuyt', 'fek', 'ewfop', 'ewfk', 'weffk', 'sop', 'suyt', 'sk', 'shkuu']
print(c)
a = ["fe", "ewf", "weff", "s"]
b = ["op", "uyt", "k", "hkuu"]
c = [x + y for x in a if len(x) <= 3 for y in b if len(y) <= 3]
# ['feop', 'feuyt', 'fek', 'ewfop', 'ewfuyt', 'ewfk', 'sop', 'suyt', 'sk']
print(c)
# 请注意,这里的 for 语句末尾没有冒号。
squares = [value**2 for value in range(1, 11)]
print(squares)
# 元组推导
# 实际上没有真正的元组推导,这是用 tuple() 将生成器推导转换为元组
# 用小括号定义的推导式是生成器推导式
a = tuple(random.randint(1, 100) for i in range(10))
print(a)
# 集合推导式
a = {divisor**2 for divisor in range(1, 11)}
print(a) # 注意,打印是无序的,因为集合是无序的
# 字典推导
# {键表达式:值表达式 若干for/if子句} 每一个子句都是前一个子句的下一级
a = {x: x**2 for x in range(10)}
print(a) # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
# 注意,并不能使用小括号来生成“元组推导”,那样创建的是生成器
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。