从列表中提取特定大小的字符串

时间:2020-02-09 18:49:09

标签: python string list

说我有一个名字列表:

names = ["David", "Lee", "Sara", "Daniel", "Nick"]

我想将字符数少于5(不包括5)的列表元素移动到名为short_names的新列表中,该列表如下所示:

short_name ["Lee", "Sara", "Nick"]

如何使用for循环执行此操作?我苦苦挣扎的是如何在每个列表元素中查找字符的长度。

2 个答案:

答案 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来解决此问题。