python - python中1和0的所有可能的3位组合
问题描述
是否有返回列表中 1 和 0 的所有 3 位组合的函数?所需的输出应如下所示:
[0,0,0]
[1,0,0]
[0,1,0]
[0,0,1]
[1,1,0]
[1,0,1]
[0,0,1]
[1,1,1]
解决方案
您可以执行以下操作:
from itertools import product
def split_str(s):
return [int(ch) for ch in s]
k=3
mm = []
m = ["".join(seq) for seq in product("01", repeat=k)]
mm = list(map(split_str, m))
print(mm)
结果是:
[[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1]]
Izaak van Dongen提出的其他解决方案:
mm2 = list(product([0, 1], repeat=3))
print(mm2)
将产生以下输出(通过“untupled”可以轻松实现):
[(0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1), (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1)]
推荐阅读
- javascript - 为什么跳过子进程来运行我的 Python 脚本?
- makefile - 如何在 Ubuntu-Linux 上设置 meson 和 ninja 以使用 MakeFile 生成预期的 .a 文件?
- java - Java将JSON列表中的所有元素合并为一个元素
- adb - 如何使用本地设备为远程桌面设置 ADB?
- python-3.x - python安装命令提示符
- r - 如果值存在于 R 中的其他列中,则用于创建 T/F 列的 dplyr 解决方案
- react-native - 打开类似 Pinterest 的操作弹出菜单(React-Native)
- javascript - 如何每两秒显示给定的随机数组元素,直到它停止?
- java - android studio 在屏幕解锁时进行套接字连接?(java)
- python - 仅获取 Pandas 中具有最大计数的行的值