【发布时间】:2018-02-15 00:46:33
【问题描述】:
我最近遇到了这个符号
a = [1,2,3,4]
b = [2,4,6]
c = [(x,y,z) for x in a for y in b for z in a]
首先我不知道如何搜索创建c的符号,这种结构有名称吗?
另外,我相信c 可以更新为不允许x 等于z。请问你能帮我解决这个问题吗?
我已经尝试了各种方法
c = [(x,y,z) for x in a for y in b for z in a for x != z]
但到目前为止,我找不到任何有效的方法,甚至是有效的语法。
我想要完成的是找到(a,b,a) 的每个组合,其中a 在每一行中只能使用一次,所以结果是
[(1, 2, 2),
(1, 2, 3),
(1, 2, 4),
(1, 4, 2),
(1, 4, 3),
(1, 4, 4),
(1, 6, 2),
(1, 6, 3),
(1, 6, 4),
(2, 2, 1),
(2, 2, 3),
(2, 2, 4),
(2, 4, 1),
(2, 4, 3),
(2, 4, 4),
(2, 6, 1),
(2, 6, 3),
(2, 6, 4),
(3, 2, 1),
(3, 2, 2),
(3, 2, 4),
(3, 4, 1),
(3, 4, 2),
(3, 4, 4),
(3, 6, 1),
(3, 6, 2),
(3, 6, 4),
(4, 2, 1),
(4, 2, 2),
(4, 2, 3),
(4, 4, 1),
(4, 4, 2),
(4, 4, 3),
(4, 6, 1),
(4, 6, 2),
(4, 6, 3)]
谢谢
【问题讨论】:
-
你想做什么?你想要的输出是什么?
c正在使用list comprehension创建
标签: python