我想使用内联 if 语句将数据附加到数组(如果数组中尚不存在),如下所示:
arr.append( data if not data in arr )
但是这段代码返回:
SyntaxError: invalid syntax
还有其他选择吗?
最佳答案
用途:
arr.extend([data] if data not in arr else [])
示例
让我们从一个示例数组开始:
>>> arr = [1, 2, 3]
现在让我们尝试 data = 4
不在 arr
中:
>>> data = 4
>>> arr.extend([data] if data not in arr else [])
>>> arr
[1, 2, 3, 4]
现在让我们尝试 data = 2
这是 arr
中已有的值:
>>> data = 2
>>> arr.extend([data] if data not in arr else [])
>>> arr
[1, 2, 3, 4]
剩下arr
保持原样不变。
注释
append
会追加一些东西。因为看起来我们只想在数据不在arr
中时追加,这不是正确的使用方法。方法extend
避免了这个问题。[data] if data not in arr else []
将返回[data]
如果data
不在arr
中。否则,它将返回[]
.arr.extend([])
叶子arr
不变。arr.extend([data])
添加元素data
到arr
结束.
关于python - 在追加到数组的情况下,Python 中的短 "if",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46553967/