gpt4 book ai didi

python - 翻转列表中的条目而不循环

转载 作者:太空宇宙 更新时间:2023-11-04 00:48:53 25 4
gpt4 key购买 nike

在 Python 中,我有一个零和一的列表(可能很长),例如,

L = [0,1,0,1,1,0,1,0,0,1]

我想在不使用循环的情况下翻转列表中的每个条目,例如,将 0 变为 1,将 1 变为 0。

我的想法是这样的:这个 L 可以看作是一个实数的二进制表示。所以我希望让L变成0101101001,然后我想有一些位操作可以直接做翻转工作。最后,我需要将翻转后的术语返回列表,即 1010010110[1,0,1,0,0,1,0,1,1,0]

有没有办法在 Python 中实现这个想法(不使用 numpy)?这种方法会比循环快得多吗?这种方法会是实现这一目标的最快方式吗?

这是一道面试题。我无法在现场回答。我不允许使用像 numpy 这样的库。

最佳答案

您可以使用 lambda 和 map 来实现:

l = [0, 1, 0, 1]
f = list(map(lambda x: int(not x), l))
print(f) # prints [1, 0, 1, 0]

关于python - 翻转列表中的条目而不循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38042513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com