检查列表的内容

时间:2014-03-28 02:39:06

标签: python list for-loop while-loop

我需要知道是否可以检查值是否存在于列表中。以及如何做到这一点。

基本上,程序需要允许用户在列表中输入一系列数字,直到用户指定它们已完成。他们会通过输入一系列数字来做,-123。

这是我到目前为止的代码,它需要有一个while结构。任何帮助将不胜感激。

enterNum = input()
userList = []
while enterNum != -123:
    for i in range(enterNum):
        userList.append(float(input()))

我觉得我错过了一些简单的事情。

3 个答案:

答案 0 :(得分:2)

你几乎拥有它:

userList = []
while True:
    enterNum = input()
    if enterNum != -123:
        userList.append(enterNum)
    else:
        break

或者:

userList = []
while enterNum != -123:
    enterNum = input()
    userList.append(enterNum)

但你最终会在列表中找到-123

错误捕获,因为您无法依靠用户,我会做这样的事情:

userList = []
while True:
    try:
        enteredNum = float(input())
        if enteredNum == -123:
            break
        userList.append(enteredNum)
    except ValueError:
        print("Invalid number")

答案 1 :(得分:1)

是的,可以使用in运算符完成,但最好不要首先在列表中添加-123。我还建议一些额外的改进。最重要的是,如果输入的数字不是数字,您应该处理exceptions

userList = list()

while True:
    try:
        enteredNum = float(input())
        if enteredNum == -123:
            break
        userList.append(enteredNum)
    except ValueError:
        print ("Invalid number")

答案 2 :(得分:0)

你可以这样做:

if num in your_list:
    #do_something

此外,要检查列表中是否有某些内容,您可以执行以下操作:

if num not in your_list:
    #do_something_else