Python用数列索引数列的问题
x=[0,1,2,3,4,5,6]y=[11,22,33,44,55,66,77]random.shuffle(x)y[x]TypeError:listindicesmu...
x = [0,1,2,3,4,5,6]
y = [11,22,33,44,55,66,77]
random.shuffle(x)
y[x]
TypeError: list indices must be integers or slices, not list
是因为python3不能这样写了吗 那应该怎么写 展开
y = [11,22,33,44,55,66,77]
random.shuffle(x)
y[x]
TypeError: list indices must be integers or slices, not list
是因为python3不能这样写了吗 那应该怎么写 展开
1个回答
展开全部
首先: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]
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询