【发布时间】:2019-03-21 03:57:09
【问题描述】:
我已经尝试学习 Python 不到两周了。所以,对不起,如果我完全被误导了。
我已经搜索了大约五天,因为我一直在学习这个问题的答案的语言,而且措辞对我来说很难表达,所以如果我错过了,请随时将其标记为重复并指出我正确的方向。
假设我有list1 = [[x, y], [a, b]] 和list2 = [0, 1]。
我要list3 = [[x, y, 0], [x, y, 1], [a, b, 0], [a, b, 1]]
在我对 StackOverflow 的研究和自己的实验中,我找到了获得各种类似结果的方法,例如:
[[x, y, 0], [a, b, 1]]
[[x, y, 0, 1], [a, b, 0, 1]]
[[x, y, 0, 1], [a, b]]
[[[x, y], 0], [[x, y], 1], [[a, b], 0], [[a, b], 1]]
我一直在考虑的事情是做以下事情:
- 在 list1 中创建尽可能多的子列表迭代
list2 中的元素
[[x, y], [a, b]] -> [[x, y], [x, y], [a, b], [a, b]] - 扁平化 list1 使其不再是子列表,而是重复
元素
[[x, y], [x, y], [a, b], [a, b]] -> [x, y, x, y, a, b, a, b] - 遍历list1的元素并插入
list2 沿扁平化列表
[x, y, x, y, a, b, a, b] -> [x, y, 0, x, y, 1, a, b, 0, a, b, 1] - 将元素分组到
合适的尺寸:
[x, y, 0, x, y, 1, a, b, 0, a, b, 1] -> [[x, y, 0], [x, y, 1], [a, b, 0], [a, b, 1]]
如果这是我必须做的,那么这就是我必须做的,我正在寻找一种方法来做到这一点,但我觉得必须有某种更 Pythonic 的方式来做这个操作(再说一遍,我知道什么?)如果是这样,我正在努力找出它可能是什么。
【问题讨论】: