使用已知索引

时间:2016-08-09 23:53:20

标签: python list indexing

我在这里遇到麻烦,需要你的帮助。

我想返回在特定索引处找到的项目。我不知道该项目是什么,只知道索引。我发现的所有内容都与我需要的相反,即使用myList.index(item)查找已知项目的索引。

段:

new_lst = x
new_lst.sort()
leng = len(new_lst).....

    elif leng > 1 and leng % 2 == 0:
    a = (leng / 2) #or float 2.0
    b = a - 1 
    c = new_lst.index(a) #The problem area
    d = new_lst.index(b) #The problem area
    med = (c + d) / 2.0
    return med ......

如果a位于new_lst,则上述内容才会返回。否则它会出错。我想得到中间的两个数字(如果列表是偶数),将它们加在一起然后平均它们。

示例:new_lst = [4,3,8,8]。得到em,排序em,然后应该取两个数字(a& b,索引1和2),添加它们并平均:(4 + 8) / 2等于6.我的代码将2分配给a,在列表中查找并返回错误:2不在new_lst中。不是我想要的。

3 个答案:

答案 0 :(得分:2)

使用方括号引用列表中的项目,如此

c = new_lst[a]
d = new_lst[b]

答案 1 :(得分:0)

您不需要list.index功能 - 这是用于查找列表中项目的位置。要在某个位置查找项目,您应该使用切片(在其他语言中,有时称为“索引”,这可能会使您感到困惑)。从迭代中切出单个元素如下所示:lst[index]

>>> new_lst = [4, 3, 8, 8]
>>> new_lst.sort()
>>> new_lst
[3, 4, 8, 8]

>>> if len(new_lst) % 2 == 0:
    a = new_lst[len(new_lst)//2-1]
    b = new_lst[len(new_lst)//2]
    print((a+b)/2)

6.0

答案 2 :(得分:0)

  

我想返回在特定索引处找到的项目。

您想使用[]运算符吗?

new_lst[a]获取new_lst的索引为a的商品。

有关此主题的更多信息,请参阅this documentation page