#生成10个随机数并且转成字符
result = []
for i in range(10):
a = random.randint(65,78)
result.append(chr(a))
print(result)
#列表推导式
import random
result = [chr(random.randint(65, 78)) for i in range(10)]
print(result)
#numpy表达式可以直接生成一个矩阵
import numpy
result = [chr(i) for i in numpy.random.randint(65, 87, [10,1])]
print(result)
列表去重
#新列表搜集法
import random
new_search = []
source = [random.randint(15, 23) for i in range(10)]
for i in source:
if i not in new_search:
new_search.append(i)
print(source)
print(new_search)
#利用set集合去重
import random
source = [random.randint(15, 23) for i in range(10)]
target_list = list(set(source))
print(source)
print(target_list) #此时出现的问题是不能保证原来的列表中元素的顺序
'''利用itertools中的函数groupby进行相同值分类处理,groupby(iterable[, keyfunc])
其中,iterable 是一个可迭代对象,keyfunc 是分组函数,用于对 iterable 的连续项进行分组,
如果不指定,则默认对 iterable 中的连续相同项进行分组,返回一个 (key, sub-iterator) 的迭代器。
但是必须先对列表进行排序
'''
import random
import itertools
source = [random.randint(15, 23) for i in range(10)]
#先对列表进行排序
source.sort()
print(source)
#将相同的元素分为一组
it = itertools.groupby(source)
for key, value in it:
print(key ,':',list(value)) #print打印多个值的时候只需要用逗号隔开即可
列表用法举例
最新推荐文章于 2024-08-17 16:10:17 发布