我正在尝试编写一个代码,用于在每个元素与列表的所有其他元素之间进行操作,但不能自己编写。以下是代码。
list = [10,20,30,30,40,50,50,50,60,70];
for i in list:
sum=i;
for j in list:
if list.index(i) != list.index(j):
s=(50-((j-i)/2))*0.13;
sum+=s;
print("score of %d is %f"%(i,sum));
但代码仍无效。它不满足职位的if
条件。
答案 0 :(得分:1)
您可以使用enumerate
来获取索引。这可以做你想做的事情:
lis = [10, 20, 30, 30, 40, 50, 50, 50, 60, 70]
for idx1, el1 in enumerate(lis):
sum_ = el1
for idx2, el2 in enumerate(lis):
if idx1 != idx2:
sum_ += (50 - (el2 - el1)/2) * 0.13
print("score of %d is %f"%(idx1, sum_))