我正在使用Python 2.7并且几天前开始学习Python。我仍然试图了解Python索引数组的方式。数组从零而不是一开始。我正在练习操纵阵列,可以使用一些帮助。
我有2个数组 - A
和B
- 我希望B
中的值与A
中的值平行。
下面是我正在搞乱的代码,以帮助我熟练掌握数组:
A = [2, 8, 29, 34, 54, 61, 73, 89, 97, 101]
B = [201, 309, 454, 540, 602, 750, 889, 973, 1003, 1120]
B[2] = 454
# B[2] = 201 this is what I want
B[8] = 1003
#B[8] = 309 this is what I want
两个数组的长度相同,但正如您所看到的,我正在尝试编写索引。如果我只做B [A],它的一个越界索引错误代码。我尝试使用:
A.searchsorted(B) #but still get an error.
我不确定我是否有任何意义,因为我知道我想要的是什么但是却无法得到正确的措辞以使其更容易。希望上面的例子显示我想要的东西。我在网站上找到的唯一的东西是搜索(可能是我错误地使用它)。这个方法从前一个问题引起了我的注意,我进一步研究了它,但仍然无法找到我想要的东西。
答案 0 :(得分:0)
听起来你正试图从一个列表中找到一个值的索引,然后从该索引处的另一个列表中返回该值。
A = [2, 8, 29, 34, 54, 61, 73, 89, 97, 101]
B = [201, 309, 454, 540, 602, 750, 889, 973, 1003, 1120]
print(B[A.index(2)])
print(B[A.index(8)])
产地:
201
309
注意:如果第一个列表中不存在该值,则会导致运行时错误:
print(B[A.index(42)])
将在5公里范围内爆炸并摧毁一切。见https://ideone.com/dfVci9