Python:使用列表的生成式语法来创建列表

# 这里首先使用range函数创建了1~9的列表(含头不含尾),之后采用for...in循环取出列表中的每一个元素放在空列表f中
f = [x for x in range(1,10)]
print(f)  # [1, 2, 3, 4, 5, 6, 7, 8, 9]

# 高级点的,排列组合型
g = [x+y for x in 'ABCD' for y in '1234567']
print(g)
# ['A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'C1', 'C2', 'C3', 'C4', 'C5',
# 'C6', 'C7', 'D1', 'D2', 'D3', 'D4', 'D5', 'D6', 'D7']


# 此处对比了以下两种方法创建列表所占内存大小
import sys
h = [x**2 for x in range(1,10)]
print(h)  # [1, 4, 9, 16, 25, 36, 49, 64, 81]
# 计算所占内存大小
print(sys.getsizeof(h))  # 184
h1 = (x**2 for x in range(1,10))
print(h1)  # <generator object <genexpr> at 0x0000013CD3D7F820>
print(sys.getsizeof(h1))  # 112
for i in h1:
    print(i, end=' ')
发布了52 篇原创文章 · 获赞 34 · 访问量 2620

猜你喜欢

转载自blog.csdn.net/weixin_38114487/article/details/103870937
今日推荐