我有一个字符串列表,其中一些恰好是None:
headers = ['Name', None, 'HW1', 'HW2', None, 'HW4', 'EX1', None, None]
Run Code Online (Sandbox Code Playgroud)
现在我想迭代这个列表,但跳过None条目.例如,像这样的东西会很好:
for header in headers if header: print(header)
Run Code Online (Sandbox Code Playgroud)
但这不起作用.有两种方法我可以使用它,但我不喜欢这两种方法:
for header in (item for item in headers if item): print(header)
Run Code Online (Sandbox Code Playgroud)
和
for header in headers:
if header: print(header)
Run Code Online (Sandbox Code Playgroud)
我只是好奇是否有更好的方法.我觉得无视无.应该是非常基本的.
Łuk*_*ski 11
headers = ['Name', None, 'HW1', 'HW2', None, 'HW4', 'EX1', None, None]
for header in filter(None, headers):
print header
Run Code Online (Sandbox Code Playgroud)
None您可以使用列表理解来删除项目:
headers = [item for item in headers if item is not None]
for item in header:
print item
Run Code Online (Sandbox Code Playgroud)