for循环使用if语句查找列表

时间:2016-04-15 20:12:45

标签: python list if-statement for-loop

我有以下问题:

考虑给定的清单:

list = ['12','8','3']

为什么print('8' in list)会返回 True

for i in range(5):
     if '8' in list == True:
         (code)
在if循环中

不执行我的代码? 有人可以解释我为什么,我怎么能让这个工作?

也许这个问题已被提出,但我没有看到我应该搜索哪些关键字。 感谢您的帮助: - )

1 个答案:

答案 0 :(得分:2)

您的代码中似乎存在一些逻辑错误,因此我将尝试概述您应该执行的操作。

  • 您不应将变量命名为strlistint,因为它们可能会与Python的内置关键字冲突。

  • 您的支票已if '8' in list,但这会测试 字符串 8是否在列表中,而不是数字。删掉撇号。

  • 您不必将if 8 in list置于循环中,它会为您进行循环和测试。

解决方案

要检查列表中是否有数字,可以使用python内置的in关键字,编写自己的代码进行检查。

请注意,不要使用list之类的关键字,因此我在这些示例中将名称更改为myList

使用in

if 8 in myList:   # Note that you don't have to say == True
    print('8 is in the list!')

或使用for i in myList)

for i in myList:
    if i == 8:
        print('8 is in the list!')**

使用for i in range(len(myList))

for i in range(len(myList)):
    if myList[i] == 8:
        print('8 is in the list!')