我有一个单词列表,我正试着将它们拆成一个字符串,然后删除字符串中少于3个字母的所有单词--但我真的不知道该怎么做。列表中有"John","Peter","A","Be","Tom",“Jun.”
发布于 2019-01-31 15:07:29
有几种方法可以做到这一点。这3种方法都依赖于len()来计算有多少个项目。假设:
data = ["John", "Peter", "A", "Be", "Tom", "June"]1:传统的for循环
遍历列表并将长度大于3的单词添加到结果列表中:
results = []
for item in data:
if len(item) >= 3:
results.append(item)2:列表理解
这是方法1的精简版本,也是我最喜欢的:
results = [item for item in data if len(item) >= 3]3:过滤器
这是我最不喜欢的,但仍然是一个选择。它使用一个返回True/False的函数来检查每一项:
results = list(filter(lambda x: len(x) >= 3, data))您也可以在这里使用普通函数而不是lambda:
def more_than_three(item):
return len(item) >= 3
results = list(filter(more_than_three, data))发布于 2019-01-31 14:48:20
示例代码:
Sample_List = ["John", "Peter", "A", "Be", "Tom", "June"]
Sample_List = [x for x in Sample_List if len(str(x)) > 3]
print(Sample_List)输出:
['John', 'Peter', 'June']发布于 2019-01-31 18:21:00
a=["John", "Peter", "A", "Be", "Tom", "June"]
for x in a:
if len(x)<3:
a.remove(x)
print(a)https://stackoverflow.com/questions/54454457
复制相似问题