[Python3] 008 列表内涵,“满腹经纶”

目录


简述

  • 列表内涵:list content
  • 通过简单的方法创建列表

少废话,上例子

例1 用 for 创建列表

list1_1 = ['a', 'b', 'c']
list1_2 = [i for i in list1_1]

print(list1_2)
print(id(list1_1))
print(id(list1_2))
  • 运行结果

['a', 'b', 'c']

2204059961992

2204049783816

有些像 copy()


例2 看看乘法“向”着谁

# 2.1

list2_1 = ['a', 'b', 'c']
list2_2 = [i * 5 for i in list2_1]

print(list2_2)
  • 运行结果

['aaaaa', 'bbbbb', 'ccccc']


# 2.2

list2_1 = [1, 2, 3]
list2_2 = [i*5 for i in list2_1]    # 既然乘法向着 i,不如写近一点

print(list2_2)
  • 运行结果

[5, 10, 15]


例3 给列表加一张“滤纸”

# 过滤原 list 中的内容并放入新 list

list3_1 = [i for i in range(1,20)]  # 生成一个从 1 到 20 的列表
list3_2 = [j for j in list3_1 if j%2 == 0]  # % 为取余,此句可滤掉奇数

print(list3_2)
  • 运行结果

[2, 4, 6, 8, 10, 12, 14, 16, 18]


例4 列表生成式可以嵌套

list4_1 = [i for i in range(1,4)]
print(list4_1)

list4_2 = [i for i in range(100,400) if i % 100 == 0]
print(list4_2)

# 列表生成可嵌套
c = [m+n for m in list4_1 for n in list4_2]
print(c)

'''
此代码与上面代码等价

for m in l1:
    for n in l2:
        print(m+n, end=' ')
'''
  • 运行结果

[1, 2, 3]

[100, 200, 300]

[101, 201, 301, 102, 202, 302, 103, 203, 303]


例5 列表生式还能嵌入条件表达式

list5_1 = [1, 2, 3]
list5_2 = [10, 20, 30]

list5 = [m+n for m in list5_1 for n in list5_2 if m+n < 25]
print(list5)
  • 运行结果

[11, 21, 12, 22, 13, 23]

猜你喜欢

转载自www.cnblogs.com/yorkyu/p/10262484.html
008