【问题标题】: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 
    

    【讨论】:

      猜你喜欢
      • 2021-08-12
      • 2012-01-03
      • 2018-06-17
      • 2015-04-23
      • 1970-01-01
      • 2014-02-12
      • 1970-01-01
      • 2011-02-18
      • 1970-01-01
      相关资源
      最近更新 更多