组合列表元素以创建嵌套列表

Combine list elements to create a nested list

给定一个 python 列表,其中包含两种类型的交替值:

list = ['Q', '0.963', 'R', '0.020', 'K', '0.015', 'E', '0.001']

如何将每两个值组合起来得到这样的结果:

new_list = [['Q', '0.963'], ['R', '0.020'], ['K', '0.015'], ['E', '0.001']]

您可以简单地使用 range()step 参数和列表索引。

list2 = ['Q', '0.963', 'R', '0.020', 'K', '0.015', 'E', '0.001']
new_list=[list2[i:i+2] for i in range(0,len(list2),2)]
print(new_list)

输出:

[['Q', '0.963'], ['R', '0.020'], ['K', '0.015'], ['E', '0.001']]

使用zip()和列表切片:

result = [[i, j] for i, j in zip(my_list[::2], my_list[1::2])]

或者只是:

>>> list(zip(my_list[::2], my_list[1::2]))
[('Q', '0.963'), ('R', '0.020'), ('K', '0.015'), ('E', '0.001')]