一、字典高级用法
score ={'语文':100,'数学':100,'英语':100}
print(score)
#更新字典,对已有的key时更新value,对于不存在的是添加k-v
score.update({'语文':90,'英语':80,"政治":77})
print(score)
#遍历key
for key in score.keys():
print(key)
#遍历values
for value in score.values():
print(value)
#遍历key,value(序列解包)
for key,value in score.items():
print(key,value)
score ={'语文':100,'数学':100,'英语':100}
print(score)
#setdefault用于获取指定key对应的value
print(score.setdefault('语文',99))
#setdefault如果获取的key不存在着时,会为该keye设置value
print(score.setdefault('地理',88))
print(score)
#fromkeys可将序列转换为字典(使用固定的值作为value)
sc=dict.fromkeys(['math','english','chinese'])
print(sc)
sc2=dict.fromkeys(['math','english','chinese'],88)
print(sc2)
#用元组格式化字符串,根据位置填充占位符
str='bookName:%s,price:%10.2f'
print(str%('论语',998))
#用字典来格式化字符串,根据key来填充占位符
s='书名:%(name)s,价格:%(price)10.2f'
print(s%{'price':998,'name':'论语'})
二、随机大写字符存入列表
(1)创建列表 (2)生成随机数 (3)numpy模块生成随机数
#生成N个随机的大写字符存入列表
NUM=10
import random
#创建空列表
result=[]
#循环10次,生成10个随机数
for i in range(10):
#65-91(不包括)的随机数
n=random.randint(65,91)
#随机数转成字符,并添加到列表
result.append(chr(n))
print(result)
#生成N个随机的大写字符存入列表
NUM=10
import random
#列表推导式
#将chr(random.randint(65,90))表达式生成随机的大写字母
result=[chr(random.randint(65,90)) for i in range(NUM)]
print(result)
使用numpy模块依次生成n个随机数(注意numpy得有这个库,不然用不了)
result=[chr(i) for i in numpy.random.randint(65,90,[NUM,1]) ]
print(result)
三、
import random
#使用列表推导式创建一个包含重复元素的列表
mylist=[random.randint(20,30)for i in range(15)]
#用新列表搜集,只搜集不重复的元素
print(mylist)
#用新列表只搜集不重复的元素
target=[]
#遍历原列表中每个元素
#若新列表不包括当前元素,新列表添加该元素即可,这样保证不重复
for ele in mylist:
if ele not in target:
target.append(ele)
print(target)
import random
#使用列表推导式创建一个包含重复元素的列表
mylist=[random.randint(20,30)for i in range(15)]
#用新列表搜集,只搜集不重复的元素
print(mylist)
#将原列表传给集合,自动去重
target=list(set(mylist))
print(target)
import random
import itertools
#使用列表推导式创建一个包含重复元素的列表
mylist=[random.randint(20,30)for i in range(15)]
print(mylist)
#首先必须对列表进行排序
mylist.sort()
#进行分组
it=itertools.groupby(mylist)
for k,g in it:
print(k,end=" ")