怎么没有"列表索引必须是整数,而不是元组"?

时间:2015-10-28 05:26:03

标签: python syntax

我对python有点熟悉,但是我遇到了一个问题。我曾经像这样操作数组:

Z=[['1','2','3'],['2','3','4'],['5','6','7']]
Z = Z[:][1:]

我知道它不能被Z = Z[:,1:]替代,因为它会显示错误消息,列表索引必须是整数,而不是元组'。但是在一个项目中,我看到了这段代码也可以工作:

for target_participant_counter in xrange(1,22):

  D = genfromtxt(participant_file, delimiter=',')

Z = vstack((Z,D))

Z = Z[:,1:]

我简直无法相信它能奏效。有人可以告诉我它是如何通过编译器的吗?

1 个答案:

答案 0 :(得分:0)

Python的list类型是一个普通数组,这意味着它将0到N之间的数字与对象相关联。除此之外,它不是像map类型那样的通用关联容器,它也可以将元组作为键。

为了说清楚,你没有看到任何人使用元组作为 list 索引。你看到的是在一些其他容器中使用元组作为!语法基本相同,但意义仍取决于容器。你也可以编写自己的容器,顺便说一句。