我试图返回长度大小的单词元素。 单词是列表,大小是正整数。 结果应该是这样的。
by_size(['a','bb','ccc','dd'],2] returns ['bb','dd']
def by_size(words,size)
for word in words:
if len(word)==size:
我不确定如何继续这部分。任何建议都会有很大的帮助。
答案 0 :(得分:12)
我会使用列表理解:
def by_size(words, size):
return [word for word in words if len(word) == size]
答案 1 :(得分:4)
return filter(lambda x: len(x)==size, words)
有关该功能的详情,请参阅filter()
答案 2 :(得分:1)
def by_size(words,size):
result = []
for word in words:
if len(word)==size:
result.append(word)
return result
现在调用下面的函数
desired_result = by_size(['a','bb','ccc','dd'],2)
其中desired_result
为['bb', 'dd']
答案 3 :(得分:1)
你的意思是:
In [1]: words = ['a', 'bb', 'ccc', 'dd']
In [2]: result = [item for item in words if len(item)==2]
In [3]: result
Out[3]: ['bb', 'dd']
答案 4 :(得分:0)
假设您想稍后使用它们,那么将它们作为列表返回是一个好主意。或者只是将它们打印到终端。这实际上取决于你的目标。您可以在if语句中列出(或任何变量名称).append来执行此操作。