列表元素为元组,第一个是用户id,第二个是活动类型,能否根据活动类型music等来创建一个新列表,列表内容为每个活动类型用户的数量,以用户id数为准,比如有4条记录为music的记录,有3个人参与了music,则列表music所应该在的位置输出3
2 回答
RISEBY
TA贡献1856条经验 获得超5个赞
首先:python中的列表是不能这样索引的,报的错翻译过来是:列表的索引要么是切片要么是数字而不能是一个列表。
1 数字:如 y[1], y[3], y[-1](取倒数第一个元素)
2 切片:如y[1:3](取第1到第3个元素),y[:3](取前三个元素),y[3:](取第三个元素之后的所有元素)
其次,要实现你所需的功能,有两种方案:
1 使用循环来实现
x = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 ] y = [ 11 , 22 , 33 , 44 , 55 , 66 , 77 ] random.shuffle(x) y2 = [] # 存储结果 for i in range ( len (x)): y2.append(y[x[i]]) |
2 使用numpy实现,numpy是python中常用的数据分析库,需要单独安装
import numpy as np import random x = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 ] y = np.array([ 11 , 22 , 33 , 44 , 55 , 66 , 77 ]) random.shuffle(x) y[x] |
添加回答
举报
0/150
提交
取消