如何从由(单词,计数)元组构成的列表中提取仅含单词的列表?
实现方法
你给出的是由(字符串元素, 计数值)二元组构成的列表,要提取所有字符串元素组成新列表,Python环境下可以用以下方案实现:
1. 基础实现(列表推导式,最推荐)
写法简洁,执行效率高,直接提取所有元组的第一个元素即可:
# 请将下方的raw_list替换为你自己的原始列表变量名 result = [item[0] for item in raw_list]
运行后result就是你需要的仅含单词/字符串的新列表。
2. 可选:过滤异常无效内容
如果需要过滤你提供的列表里的无效内容(比如\x9d\x9d\x9d、-这类非单词的特殊符号),可以在列表推导式里加判断条件:
import string result = [ item[0].replace(""", '"') # 处理转义的双引号,不需要可以删除本行 for item in raw_list if item[0].strip() not in ("-", "") # 过滤空值、纯短横线 and not all(c in string.punctuation for c in item[0]) # 过滤全为标点的内容 ]
3. 函数式写法(map方法)
如果你习惯函数式编程风格,也可以用map方法实现:
result = list(map(lambda x: x[0], raw_list))
内容的提问来源于stack exchange,提问作者Ingo Banghard
相关产品推荐
相关产品推荐

