我有一个要分解成字符串的单词列表,然后删除该字符串中少于3个字母的所有单词-但不确定如何处理 列表为[“ John”,“ Peter”,“ A”,“ Be”,“ Tom”,“ June”]
答案 0 :(得分:1)
有几种方法可以做到这一点。这3种方法都依靠len()
来计算有多少项。假设:
data = ["John", "Peter", "A", "Be", "Tom", "June"]
遍历列表,并将长度超过3个字的单词添加到结果列表中:
results = []
for item in data:
if len(item) >= 3:
results.append(item)
这是方法1和我最喜欢的方法的精简版本:
results = [item for item in data if len(item) >= 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)