说我有一个名字列表:
names = ["David", "Lee", "Sara", "Daniel", "Nick"]
我想将字符数少于5(不包括5)的列表元素移动到名为short_names的新列表中,该列表如下所示:
short_name ["Lee", "Sara", "Nick"]
如何使用for循环执行此操作?我苦苦挣扎的是如何在每个列表元素中查找字符的长度。
答案 0 :(得分:1)
为方便起见,您可以使用列表理解:
short_name = [name for name in names if len(name) < 5]
如果您希望它更具可读性(对于初学者),请使用“传统”作为循环样式:
short_name = []
for name in names:
if len(name) < 5:
short_name.append(name)
两个代码提供相同的输出。
答案 1 :(得分:0)
要查找字符串的长度,请使用内置的len
:
>>> len("abcde") == 5
True
由于这看起来像是家庭作业,因此我将其留给您,以将其合并到循环结构中以创建short_names
列表。
值得深思的是,我要补充一点的是,可以通过使用list comprehension使用一行Python来解决此问题。