如果不是 None,则在列表理解范围内附加到列表
Append to list if not None, within a list comprehension
我有一个字典,在一个键下包含一些 None 值,例如:
tmp = {"frames": ['0', '12', '56', '35', None, '77', '120', '1000']}
我需要从字典中创建一个元素列表,在“frame”键下,这些元素不是 None
(None 应该被忽略)。明确的方法是:
for frame in tmp['frames']:
if frame:
output.append(frame)
但我想知道是否有一个单行表达式可以做到这一点。我可以想到类似的东西:
output = [frame if frame else None for frame in tmp['frames']]
但是这样,我不知道如何排除 None
值
您可以在列表理解中使用 if 条件
[int(value) for value in tmp['frames'] if value is not None]
我有一个字典,在一个键下包含一些 None 值,例如:
tmp = {"frames": ['0', '12', '56', '35', None, '77', '120', '1000']}
我需要从字典中创建一个元素列表,在“frame”键下,这些元素不是 None
(None 应该被忽略)。明确的方法是:
for frame in tmp['frames']:
if frame:
output.append(frame)
但我想知道是否有一个单行表达式可以做到这一点。我可以想到类似的东西:
output = [frame if frame else None for frame in tmp['frames']]
但是这样,我不知道如何排除 None
值
您可以在列表理解中使用 if 条件
[int(value) for value in tmp['frames'] if value is not None]