首页 > 解决方案 > 如何遍历忽略空格的字符串中的字母?

问题描述

我已经搜索了一段时间,但找不到对我有帮助的答案。

for i in range(len(string)):
    list.append(string)
return list

如果例如字符串包含空格,它显然会做额外的字符串

例如,如果string = ' Hello '

输出是

[' Hello ', ' Hello ', ' Hello ', ' Hello ', ' Hello ', ' Hello ', ' Hello ']

代替

[' Hello ',' Hello ',' Hello ',' Hello ',' Hello ']

如果字符串是' Test String ',中间的空格也应该被忽略,给出一个长度列表10

标签: pythonstringlistfor-loopiteration

解决方案


要忽略空格,您可以使用以下代码。请注意,我已将变量名称从 更改listlst,因为使用list了 python 内置的阴影。我们不是迭代字符串长度的索引,而是迭代字符串中的字母。

string = ' Test String '
lst = []

for letter in string:
    if letter != ' ':
        lst.append(string)

print(lst)

输出:

[' Test String ', ' Test String ', ' Test String ', ' Test String ', ' Test String ', ' Test String ', ' Test String ', ' Test String ', ' Test String ', ' Test String ']
>>> len(lst)
10

或者,作为列表理解:

>>> [string for c in string if c.strip()]
[' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ']

这通过迭代字符串中的字母并检查每个去掉空格的字符是否为空字符串来工作。


推荐阅读