我想计算列表中单个单词的字母,并删除3个字母以下的单词

时间:2019-01-31 06:17:12

标签: python

我有一个要分解成字符串的单词列表,然后删除该字符串中少于3个字母的所有单词-但不确定如何处理 列表为[“ John”,“ Peter”,“ A”,“ Be”,“ Tom”,“ June”]

3 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点。这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))

答案 1 :(得分:0)

示例代码:

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']

答案 2 :(得分:0)

a = [“ John”,“ Peter”,“ A”,“ Be”,“ Tom”,“ 6月”] 对于x中的:     如果len(x)<3:         a。删除(x)         打印(a)