使用nop的Python2.7列表操作

2024-04-20 14:26:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我想根据condition将一些数据附加到列表中:

arr = ['abc', ('def' if condition else NOP)]

在这里,如果条件为false,当我希望arr只包含abc时,应该如何处理NOP


Tags: 数据false列表ifdefcondition条件else
3条回答

也可以使用嵌套条件生成器:

>>> ['abc', *(x for x in ['def'] if True), 'ghi']
['abc', 'def', 'ghi']
>>> ['abc', *(x for x in ['def'] if False), 'ghi']
['abc', 'ghi']

不过,不确定那是否更干净;如果有更多的元素

arr = ['abc'] + (['def'] if condition else [])

换一行就行了:

arr = ['abc']
if condition:
    arr.append('def')

相关问题 更多 >