Python:如何从不带';不符合一定条件
我的名单如下:Python:如何从不带';不符合一定条件,python,list,Python,List,我的名单如下: names = [ "Brian", "jake", "Jason", "Brad", "Tony", "jimmy", "Bobby", "Stevie"] 我要做一个名为“小名”的列表,包含上面列表中4个字母或更少的所有名字。我被难住了 我最初的想法是使用while循环,但它不起作用。您可以使用: small\u names=filter(lambda n:len(n)您可以使用: small\u names=filter(lambda n:len(n)我会使用: sho
names = [ "Brian", "jake", "Jason", "Brad", "Tony", "jimmy", "Bobby", "Stevie"]
我要做一个名为“小名”的列表,包含上面列表中4个字母或更少的所有名字。我被难住了
我最初的想法是使用while循环,但它不起作用。您可以使用:
small\u names=filter(lambda n:len(n)您可以使用:
small\u names=filter(lambda n:len(n)我会使用:
short_names=[name for name in names if len(name)我会使用:
short_names=[name for name in names if len(name)如果您需要解释码字是如何工作的,并且不知道lambda是什么,或者过滤器是如何工作的,您可能需要尝试另一个答案
列表=名称
对于列表中的项目:
如果len(item)这里是另一个答案,如果您需要解释密码是如何使用的,并且不知道lambda是什么,或者过滤器是如何工作的,那么您可能需要尝试一下
列表=名称
对于列表中的项目:
如果len(item),请共享您尝试过的代码段。请参阅。干杯们,认为我现在已排序!请共享您尝试过的代码段。请参阅。干杯们,认为我现在已排序!谢谢Marcin,我们还没有遇到filter命令,还有其他使用while循环的方法吗。我在anwser中写道:small\u names=[n代表n如果len(n)Marcin,感谢一个mill。非常感谢!我犯了很多小错误。我认为练习是唯一的出路!感谢Marcin,我们还没有遇到filter命令,有没有另一种方法使用while循环。我在anwser中写道:small_names=[n代表n如果len(n)则名称)Marcin,谢谢mill。非常感谢!我犯了很多小错误。我认为练习是唯一的前进之路!@SquareCerts不客气。列表理解是最具活力和可读性的方法。@SquareCerts不客气。列表理解是最具活力和可读性的方法。干杯,麦克hael!是的,我希望有一天我会知道什么是lambda和过滤器……我必须坚持下去!@squared如果你有列表理解,你不需要使用lambda和过滤器(在大多数情况下).干杯,迈克尔!是的,我希望有一天我会知道什么是lambda和过滤器……我必须坚持下去!@squareds如果你有列表理解(在大多数情况下),你不需要使用lambda和过滤器。
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']
small_names = []
for n in names:
if len(n) <= 4:
small_names.append(n)
short_names = [name for name in names if len(name) <= 4]