【问题标题】:check if entry is in list, no matter if it's uppercase or lowercase: python检查条目是否在列表中,无论它是大写还是小写:python
【发布时间】:2017-04-03 16:40:26
【问题描述】:
我正在尝试根据用户输入检查条目是否在列表中,无论输入是大写还是小写字母的组合。假设我的列表中有电视节目名称“陌生人事物”。即使用户输入“st”、“St”、“ST”或“sT”,我也想从列表中打印“Stranger Things”。
我认为我应该将输入作为 .lower(),但这是否意味着我必须使用 .lower() 转换列表中的所有字符串?如果是这样,我该如何处理列表中的大量数据?
【问题讨论】:
标签:
python
string
list
methods
【解决方案1】:
您可以将列表转换为所有小写单词,也可以执行以下操作:
shows = ['Stranger Things', 'The Office', 'Show 3', 'etc']
if word in map(shows, str.lower):
{do something}
如果您需要保留“正确”版本(例如“Stranger Things”)以及全小写版本,您可以制作字典并将小写版本存储为键,将大写版本存储为值。通过这种方式,您可以查看节目是否在 shows 字典中,并获得“正确”版本。这方面的一个例子是:
shows = {"stranger things": "Stranger Things", "the office": "The Office", "show 3": "Show 3"}
if word in shows.keys():
print(shows[word]) # prints the proper version of the word