理解链式语句

时间:2019-02-27 14:31:24

标签: python python-3.x list

因此,我应该采用一个数组x和一个数组y,并制作一个新的对数组,以使元素不相等。这是我的代码:

x=[1,2,3,4]
y=[2,4,6]
my_list=[]
for a in x:
    for b in y:
        if a!=b:
            list=[a,b]
            my_list.append(list)
#my_list+=[(a,b) for (a,b) in (x,y) if (a!=b)]
print (my_list)

因此,输出为:[[1, 2], [1, 4], [1, 6], [2, 4], [2, 6], [3, 2], [3, 4], [3, 6], [4, 2], [4, 6]]

在不导入任何内容的情况下,如何使用列表理解和链接语句来折叠它。我的微薄尝试是在#comment部分中。

3 个答案:

答案 0 :(得分:5)

以下是使用列表理解的方法:

x=[1,2,3,4]
y=[2,4,6]

[[a,b] for a in x for b in y if a!=b]

输出

[[1, 2], [1, 4], [1, 6], [2, 4], [2, 6], [3, 2], [3, 4], [3, 6], [4, 2], [4, 6]]

答案 1 :(得分:0)

您还可以通过编写以下代码来避免创建x和y变量

[[i, j] for i in [1, 2, 3, 4] for j in [2, 4, 6] if i != j]

答案 2 :(得分:-1)

这也是您可以使用lm(V1~g)构建输出的地方。为您提供与列表理解相同的输出,但代码更少。

itertools