gpt4 book ai didi

Python数组简单问题

转载 作者:行者123 更新时间:2023-11-28 19:39:33 25 4
gpt4 key购买 nike

我有以下两个数组:

array1 = [0, 1, 1, 0]
array2 = ['foo', 'bar', 'hello', 'bye']

我想将 array2 的值保存到一个数组中,该数组在 array1 中具有索引 1

在上面的例子中,期望的结果应该是 result_array = ['bar', 'hello']

我试过类似的方法,但没有用。

for i in array1:
if i = 1:
result_array.append(array2[i])

提前致谢

最佳答案

您的代码的问题在于您在 if 条件下使用了 =,将其替换为 ==。其次,要获取索引以及您需要使用 enumerate 的项目,目前您正在追加 array[i],因此您的代码最终将追加 'bar' 两次。

>>> result_array = []
>>> for i, x in enumerate(array1):
if x == 1:
result_array.append(array2[i])
...
>>> result_array
['bar', 'hello']

另一种更好的方法是使用 zip 和列表理解:

>>> [b for a, b in zip(array1, array2) if a==1]
['bar', 'hello']

最快的方法是使用 itertools.compress :

>>> from itertools import compress
>>> list(compress(array2, array1))
['bar', 'hello']

关于Python数组简单问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21403146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com