列表用法举例

#生成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打印多个值的时候只需要用逗号隔开即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值