我需要测试用户输入是否与列表元素相同,现在我正在这样做:
cars = ("red", "yellow", "blue")
guess = str(input())
if guess == cars[1] or guess == cars[2]:
print("success!")
Run Code Online (Sandbox Code Playgroud)
但我正在处理更大的列表,我的if语句在所有这些检查中都有很多增长,有没有办法引用多个索引,如:
if guess == cars[1] or cars[2]
Run Code Online (Sandbox Code Playgroud)
要么
if guess == cars[1,2,3]
Run Code Online (Sandbox Code Playgroud)
阅读列表文档,我发现不可能引用多个索引,我在上面尝试过,当然会发送语法错误.
最简单的方法是:
if guess in cars:
...
Run Code Online (Sandbox Code Playgroud)
但如果你的名单很大,那就太慢了.然后,您应该将您的汽车列表存储在一个集合中:
cars_set = set(cars)
....
if guess in cars_set:
...
Run Code Online (Sandbox Code Playgroud)
检查某些东西是否存在是一个集合比检查它是否在列表中要快得多(但这只会在你有很多项目时出现问题,并且你正在多次进行检查.)
(编辑:我假设cars[0]从问题中的代码遗漏是一个意外.如果不是,那么使用cars[1:]而不是cars.)
| 归档时间: |
|
| 查看次数: |
29260 次 |
| 最近记录: |