【问题标题】:Account for upper and lower case in Python在 Python 中考虑大小写
【发布时间】:2012-06-04 01:35:52
【问题描述】:

有没有办法在 python 中同时考虑大写和小写字母?示例如下:

if 'jay' in rapper:
    print 'blah blah blah'

我希望 if 语句对于 Jay 或 jay 是正确的。

我能做什么?

【问题讨论】:

  • 您能否提供更多关于type rapper 是什么的信息?对于列表/字典,最好在插入时确保大小写,或者编写自己的搜索方法。

标签: python string if-statement module


【解决方案1】:
if 'jay' in rapper.lower():
    #do stuff

【讨论】:

  • 你假设rapper 是一个字符串而不是一个列表。
【解决方案2】:

如果说唱歌手是一个字符串列表

if "jay" in [x.lower() for x in rapper]:
    # do something
    print "done"

【讨论】:

    【解决方案3】:

    只是为了提供替代方案(@JoelCornett 的解决方案更好),您也可以这样做:

    if rapper in ('jay', 'Jay'):
       # do stuff
    

    这种方法的一个优点是您可以检查不同的名称(尽管在这种情况下不是必需的)。

    我假设rapper 是一个没有任何其他信息的字符串。

    【讨论】:

    • @Daenyth 好点,但我们不知道说唱歌手是什么,我不相信其他任何一个当前答案都可以按原样处理列表。
    【解决方案4】:

    最简单的方法是这样做(假设rapper 是一个非空字符串):

    if rapper.strip().lower() == 'jay':
        print 'blah blah blah'
    

    另一种选择,使用正则表达式:

    import re
    if re.match(r'Jay', rapper.strip(), re.IGNORECASE):
        print 'blah blah blah'
    

    以上内容适用于rapper = 'jay' or 'jAy' or 'JAY' or ' Jay ' ...等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-07
      • 1970-01-01
      • 1970-01-01
      • 2012-02-10
      • 2013-10-02
      • 2016-10-04
      • 1970-01-01
      相关资源
      最近更新 更多