将特定整数附加到嵌套列表 - Python
Appending specific integers to nested lists - Python
我有一个嵌套列表,A = [[1, 2, 3], [5, 2, 7], [4, 8, 9]]
。我想将 list A
中的数字 1, 2, 3
添加为 A = [[1, 2, 3, 1], [5, 2, 7, 2], [4, 8, 9, 3]]
等等(这只是一个较短的版本)。我使用我编写的代码尝试了相同的方法:
i = 0
j = 0
#number_nests = number of nested lists
for i in range(0, number_nests):
for j in A:
j.append(i)
print(A)
这是我得到的输出,因为我是新手,所以我有点卡住了:
[[1, 90, 150, 0, 1, 2, 3], [2, 100, 200, 0, 1, 2, 3], [4, 105, 145, 0, 1, 2, 3], [3, 110, 190, 0, 1, 2, 3]]
。我想在没有 numpy 的情况下做到这一点。
使用 enumerate
:
简单地遍历外部列表和索引
for i, elem_list in enumerate(A, start=1):
elem_list.append(i)
A = [[1, 2, 3], [5, 2, 7], [4, 8, 9]]
i=1
for val in A:
val.append(i)
i += 1
您可以使用 enumerate 内置函数,起始参数为 1
来获取当前索引。
A = [[1, 2, 3], [5, 2, 7], [4, 8, 9]]
print([val+[i] for i, val in enumerate(A, 1)])
使用map内置函数
在python2.x
print map(lambda x,y: x+[y], A, range(1, len(A)+1))
在python3.x
print(list(map(lambda x,y: x+[y], A, range(1, len(A)+1))))
A
:
中的每个列表只需要一个循环来添加一个数字
for i in range(1, len(A)+1):
A[i].append(i)
注意:范围应从 1 开始
A = [[1, 2, 3], [5, 2, 7], [4, 8, 9]]
B = [1, 2, 3]
print [A[i]+[B[i]] for i in range(len(A))]
#Output[[1, 2, 3, 1], [5, 2, 7, 2], [4, 8, 9, 3]]
我有一个嵌套列表,A = [[1, 2, 3], [5, 2, 7], [4, 8, 9]]
。我想将 list A
中的数字 1, 2, 3
添加为 A = [[1, 2, 3, 1], [5, 2, 7, 2], [4, 8, 9, 3]]
等等(这只是一个较短的版本)。我使用我编写的代码尝试了相同的方法:
i = 0
j = 0
#number_nests = number of nested lists
for i in range(0, number_nests):
for j in A:
j.append(i)
print(A)
这是我得到的输出,因为我是新手,所以我有点卡住了:
[[1, 90, 150, 0, 1, 2, 3], [2, 100, 200, 0, 1, 2, 3], [4, 105, 145, 0, 1, 2, 3], [3, 110, 190, 0, 1, 2, 3]]
。我想在没有 numpy 的情况下做到这一点。
使用 enumerate
:
for i, elem_list in enumerate(A, start=1):
elem_list.append(i)
A = [[1, 2, 3], [5, 2, 7], [4, 8, 9]]
i=1
for val in A:
val.append(i)
i += 1
您可以使用 enumerate 内置函数,起始参数为 1
来获取当前索引。
A = [[1, 2, 3], [5, 2, 7], [4, 8, 9]]
print([val+[i] for i, val in enumerate(A, 1)])
使用map内置函数
在python2.x
print map(lambda x,y: x+[y], A, range(1, len(A)+1))
在python3.x
print(list(map(lambda x,y: x+[y], A, range(1, len(A)+1))))
A
:
for i in range(1, len(A)+1):
A[i].append(i)
注意:范围应从 1 开始
A = [[1, 2, 3], [5, 2, 7], [4, 8, 9]]
B = [1, 2, 3]
print [A[i]+[B[i]] for i in range(len(A))]
#Output[[1, 2, 3, 1], [5, 2, 7, 2], [4, 8, 9, 3]]