1.二维数组转成字典
users = [["admin",123456],["test",456789],["xiaohei","abc123"],]
第一种方式:使用循环的方式
i 中存的值时列表类型,使用解包的方式,把i 赋给把key和value
for i in users:key,value = id_users[key] = value
第二种方式:直接使用字典
users_d = dict(users )
2.非空即真,非0即真
for line in f:line = line.strip()if line: # 如果没有空行pass
3.列表切片
只有有下标,都可以通过切片来取值
注意,切片取值的时候,是顾头不顾尾,默认步长为1
names = ['sara', 'john', 'alex', 'michkle']
1)取出列表中的前3个数据,以下两种方式都可以
print(names[:3])print(names[0:3])
2)从某个位置取值,一直取到最后,最后一个元素可以不用写
print(names[2:]) # ['alex', 'michkle']
3)取最后一个值
print(names[-1]) # michkle
4)按照步长来取值[start:end:step]
print(names[::2]) # 每隔一个元素取一个值,步长为2
5)如果步长为负数,取值方式从右往左
print(names[::-1]) # ['michkle', 'alex', 'john', 'sara']
4.集合
集合天生去重,集合是无序的
s = [1, 1, 11, 3, 4, 3]s1 = [2, 3, 4, 12, 2]s = set(s) # {3, 1, 11, 4}s1 = set(s1) # {2,3,4,12}
1.取交集
print(s.intersection(s1)) # {3, 4}print(s & s1)
2.取并集
print(s.union(s1)) # {1, 2, 3, 4, 11, 12}print(s | s1)
3.取差集
print(s.difference(s1)) # 在s中集合中存在但在s1中不存在的值print(s - s1) # {1, 11}print(s1 - s) # {2, 12}
4.对称差集
# 对称差集 s里面有,s1里面没有,s1里面有,s里面没有print(s.symmetric_difference(s1))print(s ^ s1) # {1, 2, 11, 12}
5.判断一个集合是否是另外一个集合的子集
s2 = {2, 3}print(s2.issubset(s1))
6.集合的添、删除、循环
s2.add(5) # 添加s2.remove(5) # 删除s2.update({1, 7}) # 把一个集合加入到另外一个集合里面for s in s2:print(s)
5.列表生成式
1)把列表中的字符串自动加两个0,使用zfill函数
nums = list(range(1,11))new_nums = []for n in nums:if n%2==0:new_n = str(n).zfill(2)new_nums.append(new_n)print(new_nums)# ['02', '04', '06', '08', '10']
2)用列表生成式实现
nums = list(range(1,11))new_nums = [str(n).zfill(2) for n in nums if n%2==0]print(new_nums)
ret = [{'channelCode': '11','channelMinMoney': 50000,'groupMinMoney': 100,'userLimitDayMoney': 500000}, {'channelCode': '12','channelMinMoney': 50000,'groupMinMoney': 100,'userLimitDayMoney': 500000}, {'channelCode': '09','channelMinMoney': 50000,'groupMinMoney': 100,'userLimitDayMoney': 100000000}]channelCode = [int(channel.get("channelCode")) for channel in ret]# channelCode = [25, 32, 38]
6.字符串、列表相互转换
1.list转string
“ “.jion(str), jion分割的必须是字符串!!,如果传入的列表内都是str则没问题,但我们传的列表内是含有int的!所以会报类型错误!
命令:''.join(list)其中,引号中是字符之间的分割符,如“,”,“;”,“\t”等等如:list1 = [1, 2, 3, 4, 5]print(''.join('%s' %id for id in list1)) 结果即为:12345print(','.join('%s' %id for id in list1)) 结果即为:1,2,3,4,5print(("*"*20+'\n').join(list1))list2 = [a,b,c]print(''.join(list2))
2.string转list
a = "abc"l = list(a)# ['a', 'b', 'c']
7.一维数组和二维数组相互转换
data = ['1235235,235235', '1235235,2352352', '1235235,235235', '1235235,235235']newData = []for i in data:newData.append(i.split(','))print(newData)newData1 = [i.split(',') for i in data]print(newData1)data1 = [['1235235', ], ['1235235', ], ['1235235', ], ['1235235',], ['1235235',]]newDa = []for i1 in data1:for i2 in i1:newDa.append(i2)print(newDa)newData2 = [i for arr in data1 for i in arr]print(newData2)
