1 Star 0 Fork 1

pish7/stdpython

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
list.create.py 1.65 KB
一键复制 编辑 原始数据 按行查看 历史
pish7 提交于 2025-12-28 22:58 +08:00 . python
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}
# 注意,并不能使用小括号来生成“元组推导”,那样创建的是生成器
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/pish7/stdpython.git
git@gitee.com:pish7/stdpython.git
pish7
stdpython
stdpython
master

搜索帮助