有如下 L1 和 L2列表,请合并这两个列表得到新列表lst,要求L1 和 L2 列表中的元素按顺序在新的列表中交替出现。例如L1=[2,10,8,1], L2=[5,7,13,3], 合并后 lst应为 [2, 5, 10, 7, 8, 13, 1, 3]
时间: 2023-08-07 20:08:16 浏览: 101
可以使用zip和列表推导式来实现这个任务。代码如下:
```python
L1 = [2, 10, 8, 1]
L2 = [5, 7, 13, 3]
lst = [item for pair in zip(L1, L2) for item in pair] + L1[len(L2):] + L2[len(L1):]
print(lst)
```
输出结果为:`[2, 5, 10, 7, 8, 13, 1, 3]`。
这里的关键是使用了zip函数以及列表推导式。zip函数将L1和L2中的元素逐个对应组合成元组,然后列表推导式将这些元组中的元素逐个添加到新列表lst中。最后,将L1和L2中多余的元素添加到lst中即可。
相关问题
有如下 L1 和 L2列表,请合并这两个列表得到新列表lst,要求L1 和 L2 列表中的元素按顺序在新的列表中交替出现。
可以使用zip和itertools.chain来实现:
```python
import itertools
L1 = [1, 3, 5, 7]
L2 = [2, 4, 6, 8]
lst = list(itertools.chain.from_iterable(zip(L1, L2)))
print(lst)
```
输出结果为:
```
[1, 2, 3, 4, 5, 6, 7, 8]
```
其中,zip函数将L1和L2按位置一一配对,返回一个元组的迭代器,itertools.chain.from_iterable将这些元组合并成一个迭代器,最后用list函数将迭代器转换为列表lst。
使用python,有如下 L1 和 L2列表,请合并这两个列表得到新列表lst,要求L1 和 L2 列表中的元素按顺序在新的列表中交替出现。例如L1=[2,10,8,1], L2=[5,7,13,3], 合并后 lst应为 [2, 5, 10, 7, 8, 13, 1, 3]
您好!这是一个简单的Python程序,可以实现您的需求:
```python
L1 = [2, 10, 8, 1]
L2 = [5, 7, 13, 3]
lst = []
for i in range(len(L1)):
lst.append(L1[i])
lst.append(L2[i])
print(lst)
```
输出结果为:
```
[2, 5, 10, 7, 8, 13, 1, 3]
```
以上代码中,我们利用 `for` 循环遍历了 `L1` 列表,每次循环将 `L1` 和 `L2` 中相同位置的元素依次添加到新列表 `lst` 中,最终得到交替排列的新列表。
阅读全文