Python列表中的位置

时间:2016-04-05 04:50:59

标签: python

我正在尝试编写一个代码,用于在每个元素与列表的所有其他元素之间进行操作,但不能自己编写。以下是代码。

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条件。

1 个答案:

答案 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_))