我想把两个编号"编织"在一起.
例:
x = [1,2,3]
y = [4,5,6]
result = [1,4,2,5,3,6]
Run Code Online (Sandbox Code Playgroud)
这是我的功能,我无法找出它为什么不起作用:
def weave(list1,list2):
lijst = []
i = 0
for i <= len(list1):
lijst += [list1[i]]
lijst += [list2[i]]
i + 1
Run Code Online (Sandbox Code Playgroud)
Mat*_*att 10
您可以使用模块中的chain函数itertools来交错两个列表:
x = [1,2,3]
y = [4,5,6]
from itertools import chain
list(chain.from_iterable(zip(x, y)))
# [1, 4, 2, 5, 3, 6]
Run Code Online (Sandbox Code Playgroud)
Python 的 for 循环不像其他语言那样可以有条件。您需要使用while循环或更改 for 循环:
def weave(list1,list2):
lijst = []
i = 0
while i < len(list1):
lijst.append(list1[i])
lijst.append(list2[i])
i += 1
return lijst
Run Code Online (Sandbox Code Playgroud)
我以多种方式更改了您的代码:
<=,那么它将尝试执行list1[3]越界的操作。list.append将项目添加到列表中=在i += 1您还可以使用zip():
>>> [a for b in zip(x, y) for a in b]
[1, 4, 2, 5, 3, 6]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3042 次 |
| 最近记录: |