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不能这样写了吗 那应该怎么写
展开
 我来答
東方1俗人
2018-01-22 · TA获得超过121个赞
知道答主
回答量:40
采纳率:100%
帮助的人:46.6万
展开全部

首先: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]
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式