【问题标题】:Iterate through a list of strings and return a list of strings with only alpha characters [duplicate]遍历字符串列表并返回仅包含字母字符的字符串列表[重复]
【发布时间】:2020-06-17 11:03:26
【问题描述】:

我有一个单词列表(例如word_list = ['python', 'learn', 'regular', '$test', '536ave']),我想从列表中删除或插入到一个新列表中,这样我就得到了只包含字母表中字母的字符串。 (ex. print(clean_list) 返回['python', 'learn', 'regular']) 我认为正则表达式单词可以工作,例如 (clean_list = for word in word_list: re.findall(r'\w+', word)) 的变体。看起来很简单,但我无法弄清楚,我尝试了很多函数、循环等。

【问题讨论】:

  • 您的示例单词列表的第二个元素中缺少标点符号,我会自己编辑,但必须至少包含六个字符。
  • @OliverTooEh: ...删除“(初学者)”应该是一个很好的编辑。还有很多需要改进的地方。只要您没有 2K 的代表,请确保每次编辑都重要,这样您就不会浪费审阅者的时间。
  • 感谢@usr2564301,刚刚提交。
  • @OliverTooEh 很好地编辑一个封闭的问题也没有多大帮助。您的编辑可能不会再次使该问题不再重复,它会弹出给编辑审阅者,如果获得批准,则重新打开该问题。如前所述,尝试让您的编辑发挥作用,这意味着他们何时可以真正使问题变得更好

标签: python string list


【解决方案1】:

如果你想使用正则表达式

import re
clean_list = [i for i in word_list if re.match('^[a-zA-Z]+$', i)]

【讨论】:

    【解决方案2】:
    clean_list = [ x for x in word_list if x.isalpha() ]
    

    clean_list = list(filter(lambda x: x.isalpha(), word_list))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-23
      • 2019-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-09
      • 1970-01-01
      相关资源
      最近更新 更多