gpt4 book ai didi

python - python 列表中每个元素的唯一索引值

转载 作者:太空宇宙 更新时间:2023-11-04 07:27:34 25 4
gpt4 key购买 nike

我试图仅将列表中的特定数字与偶数索引号相乘。我的列表中有一些数字出现了多次。这些数字具有相同的索引值。但是,只有当它们出现在索引号为偶数的位置时,我才想将这些数字乘以 2。

我搜索的所有论坛都与我的需求相反,他们希望重复出现的数字具有相同的索引号。就我而言,我希望循环数字具有不同的索引值。

a = ['2', '0', '0', '1', '4', '5', '6', '4', '0', '4', '6']
my_list = []
for i in a:
if a.index(i) in [1,3,5,7,9]:
#get ascii value using ord()
a1 = (ord(i)) * 2
else:
a1 = ord(i)
my_list.append(a1)

预期 = [50, 96, 48, 98, 52, 106, 54, 106, 48, 104, 54]

得到 = [50, 52, 54, 52, 52, 54]

最佳答案

您应该使用enumerate 而不是index。此外,您可以将其设为列表推导式:

a = ['2', '0', '0', '1', '4', '5', '6', '4', '0', '4', '6']
result = [ord(c) * 2 if i % 2 == 1 else ord(c) for i, c in enumerate(a)]
print(result)
# [50, 96, 48, 98, 52, 106, 54, 104, 48, 104, 54]

等效循环:

result = []
for i, c in enumerate(a):
if i % 2 == 1:
result.append(ord(c) * 2)
else:
result.append(ord(c))

关于python - python 列表中每个元素的唯一索引值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55930949/

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