【问题标题】:Looking for a specific character in a list of strings [duplicate]在字符串列表中查找特定字符[重复]
【发布时间】:2021-04-07 14:49:17
【问题描述】:

假设我有一个包含这些字符串的列表:

list = ["Cat", "Bag?", "Dog", "?Duck"]

如何只打印包含问号的单词?

示例输出:

Bag? contains a question mark
?Duck contains a question mark

【问题讨论】:

  • 您应该至少发布您尝试过的代码。您将需要使用if 并且可能使用in 来检查问号是否在单词中............

标签: python


【解决方案1】:

你可以像这样使用in

a = ['hi', 'hi?']
for i in a:
    if '?' in i:
        print(i+' contins a question mark')

输出:

hi? contins a question mark

【讨论】:

    【解决方案2】:

    您不应该将变量命名为“list”。除此之外,以下将起作用。只需使用“in”关键字

    list1 = ["Cat", "Bag?", "Dog", "?Duck"]
    
    for i in list1:
        if "?" in i:
            print(i + " contains a question mark")
    

    【讨论】:

      【解决方案3】:

      我会尝试遍历每个单词。然后在每个单词中,我都会遍历它。如果我找到一封信,说“?”然后我会打印这个词。

      your_list = ["?adsd","dsasd"]
      for words in your_list:
          for every_letter in words:
              if every_letter == '?':
                  print(words)
      

      列表理解

      words_similar = [words for words in your_list for every_letter in words if every_letter == '?']```
      

      【讨论】:

        【解决方案4】:
        list = ["Cat", "Bag?", "Dog", "?Duck"]
        for i in list:
            if '?' in i:
                print(i, "contains a question mark")
        

        【讨论】:

          【解决方案5】:
          my_list = ["Cat", "Bag?", "Dog", "?Duck"]
          print('\n'.join(f'{word} contains a question mark' for word in my_list  if '?' in word))
          

          注意我

          • list 重命名为my_list,因为list 是python 中的内置类,重写它是不好的做法
          • 使用 in,正如 Brian 和 Chris 指出的那样
          • 使用列表理解来避免像其他一些答案那样需要if-clauses

          【讨论】:

          • 这对于试图学习如何打印带有特定字符的字符串的人来说太复杂了
          • 他们可以在理解你的答案后尝试理解我的答案,这样可以扩展他们的 python 技能:)
          【解决方案6】:
          for string in list:
              if "?" in string:
                   echo string + "contains a question mark"
          

          【讨论】:

            猜你喜欢
            • 2019-11-17
            • 2017-09-25
            • 2018-11-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多