"给定列表list1和list2具有相同的长度,创建一个新列表,其中包含list1的第一个元素,后跟list2的第一个元素,后跟list1的第二个元素,后跟list2的第二个元素,以及等等(换句话说,新列表应该由list1和list2的交替元素组成).例如,如果list1包含[1,2,3]并且list2包含[4,5,6],那么新列表应该包含[1,4,2,5,3,6].将新列表与变量list3相关联."
list1 = []
list2 = []
list3 = []
for i in range(len(list3)):
list3.append(list1)
list3.append(list2)
Run Code Online (Sandbox Code Playgroud)
我很确定这是错误的.我应该改进什么?顺便说一句,我认为这必须包括len和范围.
我会用列表理解来做,而不是用len或者做任何事情range.例如:
>>> list1 = [1, 2, 3]
>>> list2 = ['a', 'b', 'c']
>>> zip(list1, list2)
[(1, 'a'), (2, 'b'), (3, 'c')]
>>> [x for pair in zip(list1, list2) for x in pair]
[1, 'a', 2, 'b', 3, 'c']
Run Code Online (Sandbox Code Playgroud)
>>> from itertools import chain
>>> list1 = [1, 2, 3]
>>> list2 = [4, 5, 6]
>>> list(chain.from_iterable(zip(list1, list2)))
[1, 4, 2, 5, 3, 6]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9939 次 |
| 最近记录: |