Python:如何从不符合特定条件的元素创建列表

时间:2015-03-01 23:41:10

标签: python list

我有一个名单列表如下:

names = [ "Brian", "jake", "Jason", "Brad", "Tony", "jimmy", "Bobby", "Stevie"] 

我必须创建一个名为small_names的列表,其中包含上面列表中包含4个字母或更少字母的所有名称。我很难过。

我最初的想法是使用while循环,但它不起作用。

3 个答案:

答案 0 :(得分:3)

我使用list comprehension

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更改项目,从而能够保持对任何查看代码的人都有意义的名称约定。项目过于通用,可能会花费你的积分。

祝你好运。编程课程。