列表元素為元組,第一個(gè)是用戶id,第二個(gè)是活動(dòng)類型,能否根據(jù)活動(dòng)類型music等來創(chuàng)建一個(gè)新列表,列表內(nèi)容為每個(gè)活動(dòng)類型用戶的數(shù)量,以用戶id數(shù)為準(zhǔn),比如有4條記錄為music的記錄,有3個(gè)人參與了music,則列表music所應(yīng)該在的位置輸出3
2 回答

RISEBY
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
首先:python中的列表是不能這樣索引的,報(bào)的錯(cuò)翻譯過來是:列表的索引要么是切片要么是數(shù)字而不能是一個(gè)列表。
1 數(shù)字:如 y[1], y[3], y[-1](取倒數(shù)第一個(gè)元素)
2 切片:如y[1:3](取第1到第3個(gè)元素),y[:3](取前三個(gè)元素),y[3:](取第三個(gè)元素之后的所有元素)
其次,要實(shí)現(xiàn)你所需的功能,有兩種方案:
1 使用循環(huán)來實(shí)現(xiàn)
x = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 ] y = [ 11 , 22 , 33 , 44 , 55 , 66 , 77 ] random.shuffle(x) y2 = [] # 存儲(chǔ)結(jié)果 for i in range ( len (x)): y2.append(y[x[i]]) |
2 使用numpy實(shí)現(xiàn),numpy是python中常用的數(shù)據(jù)分析庫,需要單獨(dú)安裝
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] |
添加回答
舉報(bào)
0/150
提交
取消