【问题标题】:I have a list of words. I want to find a word for a fixed length [duplicate]我有一个单词列表。我想找到一个固定长度的单词[重复]
【发布时间】:2021-03-05 23:31:16
【问题描述】:

这是我的解释:

myList = ['Albasit', 'Nahian', 'Hi', 'Kazi', 'Zuljalal', 'Md.', 'Maslinia']

我想在列表中搜索单词的长度。这样我就可以得到 len 中 4 的单词。

【问题讨论】:

    标签: python string list search


    【解决方案1】:

    直观地说,您有两个选择。过滤或简单的列表推导。

    myList = ['Albasit', 'Nahian', 'Hi', 'Kazi', 'Zuljalal', 'Md.', 'Maslinia']
    
    list(filter(lambda x: len(x) == 4, myList))
    # or
    [x for x in myList if len(x) == 4]
    

    【讨论】:

      【解决方案2】:

      使用列表推导:

      print([x for x in myList if len(x) == 4])
      

      【讨论】:

        【解决方案3】:

        您可以创建一个新列表,仅过滤带有len(element) == 4 的元素

        myList = ['Albasit', 'Nahian', 'Hi', 'Kazi', 'Zuljalal', 'Md.', 'Maslinia']
        
        new_list = [x for x in myList if len(x) == 4]
        
        print(new_list)
        >>> ['Kazi']
        

        【讨论】:

          【解决方案4】:
          myList = ['Albasit', 'Nahian', 'Hi', 'Kazi', 'Zuljalal', 'Md.', 'Maslinia']
          
          res = list(filter(lambda x: len(x) == 4, myList)) 
          print(res) # ['Kazi']
          

          【讨论】:

          • 提供上下文以提高问题质量。您正在与另外 4 个竞争代表。 EOR。
          【解决方案5】:
          str_list = ["these", "are", "some", "random", "strings"]
          
          for my_str in str_list:
              if len(my_str) == 3:
                  print(my_str)
          

          这将打印出列表中每 3 个字母的单词。您可以将这些附加到新列表,然后也打印新列表。由你决定。

          【讨论】:

          • 一些提示:不要使用类型作为变量名str,if 子句中不需要额外的括号,当列表推导是等效的替代方案时,大多数情况下不鼓励使用 for 循环。
          • @BramVanroy 感谢您的提示。我警告其他人不要将类型用作变量名,但也会犯同样的错误。我对列表理解不是很有经验。会看看。
          猜你喜欢
          • 2014-10-16
          • 1970-01-01
          • 1970-01-01
          • 2022-11-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-04
          • 1970-01-01
          相关资源
          最近更新 更多