繁体   English   中英

在列表中搜索字符串值

[英]Searching for a string value in a list

我的列表是 a=['Name','Age','Subject'] 并且我想搜索该列表中是否存在用户的输入。

假设用户输入 x='name',我如何在此列表中搜索 x(不区分大小写)?

我认为以下代码可能对您有所帮助。 你必须string修改方法lower()/upper() 我在这里使用了lower,它将每个字符的任何大小写更改为小写。 例如使用'NaMe'.lower()NaMe更改为''name'' 后。 我更改了输入字符串和列表元素,并检查了输入是否在列表中。 就这样。

代码

a=['Name','Age','Subject'] 
a = [a.lower() for a in a]
user_input = input("Put the input: ").lower()
if user_input in a:
    print("Match")
    
else:
    print("Mismatch")

输出

> Put the input: AGE
> Match

如果你想在列表中进行区分大小写的搜索,你可以这样做,

x = "name" # input from the user
l = ['Name','Age','Subject']

if x in l:
    print("Found a match")
else:
    print("No match")

如果你想在列表中进行不区分大小写的搜索,你可以这样做,

x = "name" # input from the user
l = ['Name','Age','Subject']

if x.lower() in list(map(lambda x: x.lower(), l)):
    print("Found a match")
else:
    print("No match")

也许这就是你需要的:

a = ['Name','Age','Subject']
x = input('').title()
b = x in a
print(b)

您可以在不投射整个列表的情况下执行以下操作:

b = input("please enter a string:")
ismatch =b.title() in a
print(ismatch)

>>> please enter a string:
>Age
>>> True
a=['Name','Age','Subject'] if 'Name' in a: print "yes"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM