如何制作循环以查看列表的元素?

时间:2016-10-25 03:44:02

标签: python python-3.x

一般来说,python和编码都是新手。所以我有一个已定义的列表,我试图创建一个循环来查看列表中的元素,直到它与我查找的内容相匹配并记录它在列表中的位置。

list = [1, 2, 3, 4]
x = 3
for x in list:
if x == list
print(x, list.index(x))

这是我的尝试,但它根本不起作用。

4 个答案:

答案 0 :(得分:2)

您的搜索变量名为x,然后您也调用循环迭代器x,覆盖搜索查询。称之为别的东西。同时调用list其他内容以避免屏蔽内置内容。您还可以使用enumerate来正确处理查询多次出现的情况。另外,不要忘记if语句末尾的冒号。

l = [1, 2, 3, 4]
x = 3
for idx,item in enumerate(l):
    if item == x:
        print(x, idx)

答案 1 :(得分:1)

除了缩进之外,问题在于您使用相同的变量x进行查找和迭代。

此外,建议您不要使用list作为变量名称,因为它用作内置函数

请考虑以下事项:

_list = [1, 2, 3, 4]
lookup = 3
for element in _list:
    if lookup == element:
        print(element, _list.index(lookup))

此外,如果您确定使用循环查找索引,最好使用enumerate函数:

_list = [1, 2, 3, 4]
lookup = 3
for index, element in enumerate(_list):
    if lookup == element:
        print(element, index)

如果您只想查找列表中元素的索引,可以单独使用index函数。

_list = [1, 2, 3, 4]
lookup = 3
print(lookup, _list.index(lookup))

请注意,如果查询不在列表中,则会引发ValueError

答案 2 :(得分:1)

试试这个。

if x in list:
    print(list.index(x))

正如idjaw所提到的,尽管上面的代码适用于您的解决方案,但不要将list之类的python关键字用于其他目的,因为它会掩盖本地范围中关键字的功能。您可以随时更改拼写或使用同义词。但是如果绝对有必要使用与关键字相同的名称,则Pythonic方法是在重命名变量时使用一个尾随下划线。这给你list_这是完全没问题的。

答案 3 :(得分:1)

你不应该循环for x in list。这将使你的x值[1,2,3,4]不再是3并且要注意python中的缩进。 Python对缩进很敏感。也许这就是你要找的代码:

list = [1, 2, 3, 4]
x = 3
for i in list:
    if (i == x):
        print(i, list.index(i))
  

我忘了list是内置语法。我们不应该使用list作为变量。只需使用'list1'或除内置语法名称之外的任何内容进行更改。这里是python https://docs.python.org/2/library/functions.html

中的一些内置语法列表