我有一个名单列表如下:
names = [ "Brian", "jake", "Jason", "Brad", "Tony", "jimmy", "Bobby", "Stevie"]
我必须创建一个名为small_names的列表,其中包含上面列表中包含4个字母或更少字母的所有名称。我很难过。
我最初的想法是使用while循环,但它不起作用。
答案 0 :(得分:3)
short_names = [name for name in names if len(name) <= 4]
答案 1 :(得分:2)
您可以使用filter:
small_names = filter(lambda n: len(n)<=4, names)
#equivalent to: small_names = [n for n in names if len(n) <=4]
print(small_names) # ['jake', 'Brad', 'Tony']
使用for循环:
small_names = []
for n in names:
if len(n) <= 4:
small_names.append(n)
答案 2 :(得分:0)
如果您需要提供代码单词的解释并且不知道lambda是什么,或者过滤器如何工作,那么您可能想要尝试另一个答案。
list = names 对于列表中的项目: 如果len(item)&lt; = 4: 打印(项目)
如果您愿意,可以使用shortNames更改项目,从而能够保持对任何查看代码的人都有意义的名称约定。项目过于通用,可能会花费你的积分。
祝你好运。编程课程。