使用Python数组中的逻辑“或”进行条件索引

2024-05-16 21:00:49 发布

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

我想更改数组中某些元素的值。 例如,我希望所有值为12或{}的元素都映射到值1。在

如何使用“或”运算符?或者任何能做我想做的接线员。我尝试了下面的代码和其他一些不同的方法,但没有一个能满足我的需要:

samples = [1,2,3,4,5,6,7,8]
print samples
samples[samples == 1 or samples == 2 or samples == 3] = 1
print samples

我需要的输出是:

^{pr2}$

Tags: or方法代码元素运算符数组samplesprint
2条回答

使用or的示例;这并不比接受的答案更好,除非您正在玩代码golf:)

samples = [int(i in (1, 2, 3)) or i for i in samples]

这利用了int(True)返回{}这一事实。在

使用list comprehension生成新列表:

samples = [1 if i in (1, 2, 3) else i for i in samples]

它使用conditional expression1或原始值之间进行选择。在

相关问题 更多 >