python基础语法+爬虫+图像处理+NumpyPandas数据处理(12天速成,第6天中-列表生成式)

1、列表生成式
@1 非常方便的得到一个列表
[元素 for遍历 if筛选]
l1 = [x for x in range(1,21)] 
# range(1,21) 生成[1,21)包左不包右的列表
print(l1)

l2 = [x*x for x in range(1,21)]
print(l2)

l3 = [x for x in range(1,21) if x%2 == 0]
print(l3)

# 得到20个,1~20范围的随机数
# for x in range(20) 循环20次
# rd.randint(1,20) 得到1个,1~20范围内的随机数(包左包右)
import random as rd
l4 = [rd.randint(1,20) for x in range(20)]
print(l4)

#A-Z
l5 = [chr(x) for x in range(65,91)]
print(l5)

l6 = [x+y for x in ['A','B'] for y in ['a','b']];
print(l6)

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400]
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
[2, 19, 17, 20, 15, 18, 1, 12, 19, 16, 14, 10, 1, 4, 12, 20, 8, 6, 6, 5]
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
['Aa', 'Ab', 'Ba', 'Bb']
# 有一个list 全是数字,[1,2,3,4,5,6,7,8,9,10]
# 将他们都变为字符串
nums = [1,2,3,4,5,6,7,8,9,10]
ss = [str(x) for x in nums];
print(ss)
['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
#想得到一个大集合list,格式为:
[
  ['A'],
  ['A','B'],
  ['A','B','C'],
  ['A','B','C','D']
    ......
  ['A'......'Z'] 
]
#地址、引用数据类型等的理解
l1 = [];
l2 = [1,2,3];
l1.append(l2); # 将l2加入到l1中
print(l1) # [ [1, 2, 3] ]
l2.append(4);
print(l1); # l1有变化吗??[[1, 2, 3, 4]]

#如果不想变化:
 # 向l2中添加的是与l1相同的一个集合,而不是l1本身[l1副本]
 # .copy 、切片 、list()
[[1, 2, 3]]
[[1, 2, 3, 4]]
list1 = []
list2 = []; #总的集合
for x in range(65,91):
    list1.append(chr(x));
    list2.append(list1[:]); # 注意要创建副本
print(list2)
[['A'], ['A', 'B'], ['A', 'B', 'C'], ['A', 'B', 'C', 'D'], ['A', 'B', 'C', 'D', 'E'], ['A', 'B', 'C', 'D', 'E', 'F'], ['A', 'B', 'C', 'D', 'E', 'F', 'G'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y'], ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值