我试图从两个范围创建一对p
,
r1 = [i for i in range(0, 10, 2)]
r2 = [j for j in range(10, 0,-2)]
这样,
p[0] = [r1[0], r2[1]]
p[1] = [r1[1], r2[1]]
.....
p[-1] = [r1[-1], r2[-1]]
天真的我想,
p = [[i, j] for i in range(0, 10, 2) for j in range(10, 0, -2)]
会这样做,但我很快就看到了我的方式错误。
我也试过了,
p = [r1[:], r2[:]]
但是,那也没有用。
然后我试过了,
p = []
for i, j in zip(r1, r2):
p.append([i, j])
哪个有用!
但这让我感到疑惑,是否有使用列表推导的Pythonic方法?
2个范围在实现中的长度始终相同,但并不总是跨越同一个域。
编辑:要清楚我想知道是否有可能生成范围r1
&理解中的r2
以及对配对的理解。
答案 0 :(得分:1)
对于您在上面发布的代码中提到的那个工作转换为list comprehension
,您可以尝试:
[[i,j] for i, j in zip(r1, r2)]
或者在range
中添加list comprehension
:
[[i,j] for i, j in zip(range(0, 10, 2), range(10, 0, -2))]