我对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:]
我简直无法相信它能奏效。有人可以告诉我它是如何通过编译器的吗?
答案 0 :(得分:0)
Python的list
类型是一个普通数组,这意味着它将0到N之间的数字与对象相关联。除此之外,它不是像map
类型那样的通用关联容器,它也可以将元组作为键。
为了说清楚,你没有看到任何人使用元组作为 list 索引。你看到的是在一些其他容器中使用元组作为键!语法基本相同,但意义仍取决于容器。你也可以编写自己的容器,顺便说一句。