将列表添加到列表

问题描述 投票:0回答:1

我有一个值,它创建一个包含两个值的列表。我需要将其作为子列表多次添加到另一个列表中。

我需要结果列表如下所示: [[“a”,1],[“b”,2],[“c”,3],[“d”,4]]

所以这个:

Small_list = []
Big_list = []
for item in db[1:]:
   Small_list.append(item)
   for item2 in db[2:]:
      Small_list.append(item2)
      Big list.append()
print(Big_list)

返回:[[],[],[],[]]

但是执行 .extend() 方法

Small_list = []
Big_list = []
for item in db[1:]:
   Small_list.append(item)
   for item2 in db[2:]:
      Small_list.append(item2)
      Big list.extend()
print(Big_list)

返回:["a", 1, "b", 2, "c", 3, "d", 4]

为什么会发生这种情况以及我该如何正确操作?

python-3.x for-loop nested-lists
1个回答
0
投票

Small_list
未重置。

.extend()
将内容添加到列表末尾。

为了使其发挥作用:

  1. 为每对值创建一个新的
    Small_list
  2. Small_list
    附加到
    Big_list

示例代码:

db = ["a", 1, "b", 2, "c", 3, "d", 4]  # Example data
Big_list = []

# Assuming `db` contains alternating elements (key-value pairs)
for i in range(0, len(db), 2):  # Step by 2 to process pairs
    Small_list = [db[i], db[i + 1]]  # Create a new sublist for each pair
    Big_list.append(Small_list)  # Add the sublist to the big list

print(Big_list)
© www.soinside.com 2019 - 2024. All rights reserved.