Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于生成[(( 0,0),0),(( 0,1),0),(( 1,0),0) ]的代码实际上给出了[0,0,0,1,1,1,0,1,1],如何修正它呢?

用于生成[(( 0,0),0),(( 0,1),0),(( 1,0),0) ]的代码实际上给出了[0,0,0,1,1,1,0,1,1],如何修正它呢?
EN

Stack Overflow用户
提问于 2019-08-09 02:34:04
回答 2查看 233关注 0票数 0

我正在尝试生成一组{0,1}和{00,01,10,11}的所有可能的组合,它应该是一个形状为(16,4)的数组。

这样的事情

代码语言:javascript
运行
AI代码解释
复制
[[((0,0),0), ((0,1),0), ((1,0),0), ((1,1),0)],
[((0,0),0), ((0,1),0), ((1,0),0), ((1,1),1)],
...
[((0,0),1), ((0,1),1), ((1,0),1), ((1,1),1)],
...
]]

这实际上不需要数组,我滥用了数组这个词,因为list没有形状:)

'00‘很好,(0,0)更好,因为后者很好看,

注意:应该在外部列表中有16项,在内部列表中有4项

代码可以给出最小的块

代码语言:javascript
运行
AI代码解释
复制
bset = np.array([0,1])
fset = np.array(np.meshgrid(bset,bset)).T.reshape(-1,2)
[tuple(i) for i in fset]

这就是

代码语言:javascript
运行
AI代码解释
复制
[(0, 0), (0, 1), (1, 0), (1, 1)]

到目前为止,一切都很好,然后事情就变得一团糟了。

这段代码

代码语言:javascript
运行
AI代码解释
复制
np.array(np.meshgrid(t4,bset), np.object)

给出

代码语言:javascript
运行
AI代码解释
复制
array([[[0, 0, 0, 1, 1, 0, 1, 1],
        [0, 0, 0, 1, 1, 0, 1, 1]],

       [[0, 0, 0, 0, 0, 0, 0, 0],
        [1, 1, 1, 1, 1, 1, 1, 1]]], dtype=object)

而不是像这样

代码语言:javascript
运行
AI代码解释
复制
[((0,0),0), ((0,1),0), ((1,0),0), ((1,1),0)]

我也尝试过迭代工具。

代码语言:javascript
运行
AI代码解释
复制
arr = [(0, 0), (0, 1), (1, 0), (1, 1)]
list(combinations(arr, 2))

是近的

代码语言:javascript
运行
AI代码解释
复制
[((0, 0), (0, 1)),
 ((0, 0), (1, 0)),
 ((0, 0), (1, 1)),
 ((0, 1), (1, 0)),
 ((0, 1), (1, 1)),
 ((1, 0), (1, 1))]

怎么解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-09 02:51:12

您可以通过以下方式使用itertools.product

代码语言:javascript
运行
AI代码解释
复制
>>> options = (0, 1)
>>> base = list(it.product(options, options))
>>> output = [list(zip(base, i)) for i in it.product(*[options]*4)]
>>> pprint(output)
[[((0, 0), 0), ((0, 1), 0), ((1, 0), 0), ((1, 1), 0)],
 [((0, 0), 0), ((0, 1), 0), ((1, 0), 0), ((1, 1), 1)],
 [((0, 0), 0), ((0, 1), 0), ((1, 0), 1), ((1, 1), 0)],
 [((0, 0), 0), ((0, 1), 0), ((1, 0), 1), ((1, 1), 1)],
 [((0, 0), 0), ((0, 1), 1), ((1, 0), 0), ((1, 1), 0)],
 [((0, 0), 0), ((0, 1), 1), ((1, 0), 0), ((1, 1), 1)],
 [((0, 0), 0), ((0, 1), 1), ((1, 0), 1), ((1, 1), 0)],
 [((0, 0), 0), ((0, 1), 1), ((1, 0), 1), ((1, 1), 1)],
 [((0, 0), 1), ((0, 1), 0), ((1, 0), 0), ((1, 1), 0)],
 [((0, 0), 1), ((0, 1), 0), ((1, 0), 0), ((1, 1), 1)],
 [((0, 0), 1), ((0, 1), 0), ((1, 0), 1), ((1, 1), 0)],
 [((0, 0), 1), ((0, 1), 0), ((1, 0), 1), ((1, 1), 1)],
 [((0, 0), 1), ((0, 1), 1), ((1, 0), 0), ((1, 1), 0)],
 [((0, 0), 1), ((0, 1), 1), ((1, 0), 0), ((1, 1), 1)],
 [((0, 0), 1), ((0, 1), 1), ((1, 0), 1), ((1, 1), 0)],
 [((0, 0), 1), ((0, 1), 1), ((1, 0), 1), ((1, 1), 1)]]
票数 0
EN

Stack Overflow用户

发布于 2019-08-09 02:48:03

你可以实现这一点而不需要矮胖。假设您有两个这样的列表:

代码语言:javascript
运行
AI代码解释
复制
>>> l1 = ['0', '1']
>>> l2 = ['00','01','10','11']  # using string as your question is unclear, see below

您可以这样使用itertools.product

代码语言:javascript
运行
AI代码解释
复制
>>> import itertools
>>> result = list(itertools.product(l1, l2))
>>> result
[('0', '00'), ('0', '01'), ('0', '10'), ('0', '11'), ('1', '00'), ('1', '01'), ('1', '10'), ('1', '11')]

itertools.product返回一个可迭代的。

在我们的问题中,您的输入集是{00,01,10,11},在输出中,您需要(0, 0),..,这是一些错误吗?

您也可以在itertools.product上执行set,但是您在问题中提供的集合不是有效的python代码。

尽管你的问题还不清楚投入,但我假设它是:

代码语言:javascript
运行
AI代码解释
复制
set1 = {0, 1}
set2 = {(0, 0, ), (0, 1, ), (1, 0, ), (1, 1, )}  # if you have a string or something else, convert it to tuple

然后你可以使用这样的东西:

代码语言:javascript
运行
AI代码解释
复制
import pprint
result = [list(itertools.product(set2, [x])) for x in set1]
pprint.pprint(result)

输出:

代码语言:javascript
运行
AI代码解释
复制
[[((0, 1), 0), ((1, 0), 0), ((0, 0), 0), ((1, 1), 0)],
 [((0, 1), 1), ((1, 0), 1), ((0, 0), 1), ((1, 1), 1)]]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57428261

复制
相关文章
ALSA中aplay -Dhw:0,0 和 aplay -Dplughw:0,0 的区别
aplay -Dhw:0,0 -c 2 -r 48000 -f S16_LE /usr/share/sounds/alsa/Front_Left.wav
程序手艺人
2019/08/14
6.1K0
NULL,0,'\0',“0”,"\0"你真的分得清吗?
在C语言中,我们有时候看到NULL,有时候也看到'\0',那它们之间有什么区别呢?
编程珠玑
2019/08/21
3.1K0
2023-03-04:定义一个二维数组N*M,比如5*5数组下所示:0, 1, 0, 0, 0,0, 1, 1, 1, 0,0,
[(0,0) (1,0) (2,0) (2,1) (2,2) (2,3) (2,4) (3,4) (4,4)]。
福大大架构师每日一题
2023/06/08
3160
2023-03-04:定义一个二维数组N*M,比如5*5数组下所示:0, 1, 0, 0, 0,0, 1, 1, 1, 0,0,
新手入门百度地图开发的(0,0)坐标问题
        对于大部分人来讲,由于百度地图资料众多,过度依赖搜索引擎等等原因。新接触百度地图开发工作其实并不容易。今天说说关于坐标(0,0)的问题。         首先仍然介绍坐标系,我们先不管采用的和wgs84还是gcj02,bd09ll等坐标系,他们有个共同的特点,就是默认坐标(0,0)经纬度均为零的时候。定位位置都会是非洲边上的几内亚湾,在某些缩放级别下,整个地图区域的颜色都是同一个背景色。这个时候就会让新手进入一个误区认为百度地图出bug了,在各处求救说“百度地图不显示地图bug谁遇到过
opengps
2018/04/13
1.5K0
新手入门百度地图开发的(0,0)坐标问题
        对于大部分人来讲,由于百度地图资料众多,过度依赖搜索引擎等等原因。新接触百度地图开发工作其实并不容易。今天说说关于坐标(0,0)的问题。         首先仍然介绍坐标系,我们先不管采用的和wgs84还是gcj02,bd09ll等坐标系,他们有个共同的特点,就是默认坐标(0,0)经纬度均为零的时候。定位位置都会是非洲边上的几内亚湾,在某些缩放级别下,整个地图区域的颜色都是同一个背景色。这个时候就会让新手进入一个误区认为百度地图出bug了,在各处求救说“百度地图不显示地图bug谁遇到过
opengps
2018/04/13
1.6K0
This view is not constrained. It only has designtime positions, so it will jump to (0,0) at runtime
Android Studio添加控件出现This view is not constrained. It only has designtime positions, so it will jump to (0,0) at runtime unless you add the constraints
SingYi
2022/07/14
5030
This view is not constrained. It only has designtime positions, so it will jump to (0,0) at runtime
RGBA(0,0,0,0)调色
转载:https://blog.csdn.net/qq_41815146/article/details/81141088
全栈程序员站长
2021/11/01
1.2K0
ios 系统10.2.1 中 Vue项目设置scrollTo(0,0)失效问题及解决
然后10.2.1系统ios控制台一直报错 this.$refs.container.scrollTo is undefined,我自己手机系统是13.6.1 可以正常滚动,我分别打出来发现,10.2.1系统手机没有scrollTo 方法,但是有个scrollTop属性! 果断加判断
一只眠羊
2021/03/25
1.4K0
2023-03-04:定义一个二维数组N*M,比如5*5数组下所示: 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
(0,0) (1,0) (2,0) (2,1) (2,2) (2,3) (2,4) (3,4) (4,4)。
福大大架构师每日一题
2023/03/04
1.1K0
2023-03-04:定义一个二维数组N*M,比如5*5数组下所示: 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
PAT 甲级 1068 Find More Coins(0,1背包)
1068. Find More Coins (30) 时间限制 150 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Eva loves to collect coins from all over the universe, including some other planets like Mars. One day she visited a universal shopping mall
ShenduCC
2018/04/27
7090
PHPCMS{loop subcat(0,0,0,$siteid) $r}{/loop}
{loop subcat(0,0,0,$siteid) $r}{/loop} 获取子栏目 @param $parentid 父级id @param $type 栏目类型 @param $self 是否包含本身 0为不包含 @param $siteid 站点id 在PHPCMS中的函数定义代码如下 function subcat($parentid = NULL, $type = NULL,$self = '0', $siteid = '') { if (empty($siteid)) $si
李维亮
2021/07/09
1.1K0
a+‘0‘ 和 a-‘0‘的区别
在C语言的使用过程中,会经常遇到与字符 ‘0’ 进行运算的情况,那他们的区别是什么,我在这个地方将它们记录下来:
Twcat_tree
2022/11/30
9370
a+‘0‘ 和 a-‘0‘的区别
如何从 0 到 1 搭建性能检测系统(修正版)
本文首发于政采云前端团队博客:如何从 0 到 1 搭建性能检测系统 https://www.zoo.team/article/performance-testing-system
政采云前端团队
2020/11/05
3K1
如何从 0 到 1 搭建性能检测系统(修正版)
0x00和’0′[通俗易懂]
msmset((void*)virt,0x00,PAGE_SIZE)和msmset((void*)virt,‘0’,PAGE_SIZE)区别就在于0x00只是为了强调就是数字0,就是为了ASCII码转换的数字0!不是字符‘0’!如果手误将数字0写作字符‘0’,那就达不到用‘\0’清空字符串的目的了。所以最近在内核中分配页的时候总是判断最后一级页表项出错,原来是在alloc_zero_page的时候页没有清空。醉了。
全栈程序员站长
2022/11/17
1.6K0
Python – 0b、0o、0x
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/152549.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/12
1.2K0
Python – 0b、0o、0x
0 | 从0开始学PyTorch
最近在家待着没有什么事情,买了本PyTorch开始学习,自己动手写写代码。就是下面这本,2022年2月才第一版,很新,确实是本很不错的书,不过这里面的中文翻译真的是有点让人头大。
机器学习之禅
2022/07/11
1K0
0 | 从0开始学PyTorch
2022-09-14:以下go语言代码输出什么?A:0 0;B:0 1;C:1 1;D:1 0。package mainfunc
2022-09-14:以下go语言代码输出什么?A:0 0;B:0 1;C:1 1;D:1 0。
福大大架构师每日一题
2022/11/06
5420
2022-09-14:以下go语言代码输出什么?A:0 0;B:0 1;C:1 1;D:1 0。package mainfunc
2022-10-08:以下go语言代码输出什么?A、0 0;B、0 4;C:4 0;D:4 4。package maincons
2022-10-08:以下go语言代码输出什么?A、0 0;B、0 4;C:4 0;D:4 4。
福大大架构师每日一题
2022/11/06
3170
2022-10-08:以下go语言代码输出什么?A、0 0;B、0 4;C:4 0;D:4 4。package maincons
TensorFlow从0到1 - 0 - 前言
我是黑猿大叔,转战AI的大叔程序猿,你好。 版权所有 我以官方文档为主线,开始对TensorFlow的学习。这期间会把我的理解进行持续的输出,作为《TensorFlow从0到1》系列。它不会止于翻译和
袁承兴
2018/04/11
1.2K0
TensorFlow从0到1 - 0 - 前言
&0xffffffff(0x08)
这里涉及到有符号整型数的补码,正数的补码与原码相同。负数的补码,将其原码除符号位外的所有位取反后加1
全栈程序员站长
2022/07/28
7140

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档