根据包含多行的第二个列表追加到列表 python
Append to a list python based on a second list with multiple rows
假设我有两个列表,它们的数据如下,列表 A
有多个行,我通过 for
循环写入 csv。
A = [Date, Round Number, Score, FirstName]
B = [FirstName, Surname]
其中 A
的每一行都是体育比赛中的不同回合。列表 B
包含每个玩家的 FirstName
和 Surname
。此数据是从 GraphQL API 查询中收集的。
CSV 中有 100 行 A
(100 轮),列表 B
有 20 行(20 位玩家)。
问题:
我如何才能在他们的 FirstName
的每个实例之后将玩家的 Surname
附加到列表 A
中?
免责声明:我没有代码背景,这是我第一次尝试 python 项目。
我已经检查过这个 post 但我没能找到一个不替换的。
Update list elements based on a second list as index
下面的代码将解决您的问题:
A = [["Date", "Round Number", "Score", "FirstNameA"],
["Date", "Round Number", "Score", "FirstNameB"],
["Date", "Round Number", "Score", "FirstNameC"]]
B = [["FirstNameC", "SurnameC"],
["FirstNameA", "SurnameA"],
["FirstNameB", "SurnameB"]]
for round in A:
for player in B:
if player[0] == round[-1]:
round[-1] += " " + player[-1] #Append to last index of round to last index of player
print(A)
输出:
[['Date', 'Round Number', 'Score', 'FirstNameA SurnameA'], ['Date', 'Round Number', 'Score', 'FirstNameB SurnameB'], ['Date', 'Round Number', 'Score', 'FirstNameC SurnameC']]
假设我有两个列表,它们的数据如下,列表 A
有多个行,我通过 for
循环写入 csv。
A = [Date, Round Number, Score, FirstName]
B = [FirstName, Surname]
其中 A
的每一行都是体育比赛中的不同回合。列表 B
包含每个玩家的 FirstName
和 Surname
。此数据是从 GraphQL API 查询中收集的。
CSV 中有 100 行 A
(100 轮),列表 B
有 20 行(20 位玩家)。
问题:
我如何才能在他们的 FirstName
的每个实例之后将玩家的 Surname
附加到列表 A
中?
免责声明:我没有代码背景,这是我第一次尝试 python 项目。
我已经检查过这个 post 但我没能找到一个不替换的。 Update list elements based on a second list as index
下面的代码将解决您的问题:
A = [["Date", "Round Number", "Score", "FirstNameA"],
["Date", "Round Number", "Score", "FirstNameB"],
["Date", "Round Number", "Score", "FirstNameC"]]
B = [["FirstNameC", "SurnameC"],
["FirstNameA", "SurnameA"],
["FirstNameB", "SurnameB"]]
for round in A:
for player in B:
if player[0] == round[-1]:
round[-1] += " " + player[-1] #Append to last index of round to last index of player
print(A)
输出:
[['Date', 'Round Number', 'Score', 'FirstNameA SurnameA'], ['Date', 'Round Number', 'Score', 'FirstNameB SurnameB'], ['Date', 'Round Number', 'Score', 'FirstNameC SurnameC']]