Python 元组字典回顾
因为一些原因,已经有近一个月没有学Python了,今天开始回归!
生成一个随机大写字符存入列表中
- random模块生成随机数
import randomNUM = 10result_a = []for i in range(NUM): #生成65-91(不包括)的随机数 num = random.randint(65,96) #随机数转成成字符`chr()`并添加到列表中 result_a.append(chr(num))print (result_a)
chr()函数可以将数字转换为字符
- 列表推导式
import randomNUM = 10result_b = [chr(random.randint(65,96)) for i in range(NUM)]print(result_b)
- numpy函数生成多个随机数(随机数矩阵)
#numpy.random.randint()函数可生成一个随机数的矩阵,可生成多行、多列的随机数import numpyNUM = 10result_c = [chr(i) for i in numpy.random.randint(65,96,[NUM,1])]#这里[NUM,1]表示生成1行NUM个的随机数print(result_c)
numpy模块需要单独安装pip install numpy;PyCharm中可以在配置中搜索numpy直接安装,比较方便
列表元素去重(重复)
- 新列表收集法原理:遍历源列表中的所有元素,若元素不在新列表中,就将元素添加到新列表中 优点:可以保证元素的顺序
#使用列表推导式来创建一个包含重复元素的列表import randomnew_list = []scr_list = [random.randint(15,25) for i in range(15)]NUM = len(scr_list)print(NUM)for i in scr_list: if i not in new_list: new_list.append(i)print(new_list)
- set集合去重特点:set集合不允许存在重复的元素,所以若将列表元素传给set(),就会自动去重;结果是按元素大小进行排列且不再是列表所以需要list再转回来
set_list = list(set(scr_list))print(set_list)
- 使用itertools模块的groupby函数去重,该函数用于分组,会将相同的元素放在一组中注意:这种方法需要先对列表进行排序
dir(itertools)下的函数;help(函数)查看具体函数的用法
import itertoolsscr_list.sort()#使用itertools.groupby()对列表进行分组it_list = itertools.groupby(scr_list)#遍历所有组内的元素并返回,若元素相同则只返回一个for k,g in it_list: print(k,end=" ")