为了账号安全,请及时绑定邮箱和手机立即绑定

在列表python中的列表中添加列表中的元素

在列表python中的列表中添加列表中的元素

心有法竹 2023-06-13 16:19:20
我有一个列表 [i],其中包含 20 个其他列表 [j],在该列表中我有其他列表 [k],其中包含 96 个元素。我正在尝试将该列表添加到另一个包含 96 个元素的列表。我得到了正确的结果,但是列表中列表中列表的格式不再存在,我只有一个包含整个结果的列表。要获得正确的结果但仅在一个列表中,则代码如下:reslist = []for i in range(len(listi)):    for j in range(len(listi[i])):        for k in range(96):            reslist.append(listi2[k]+listi[i][j][k]) 就像我说的,这给了我一个正确的结果,但只是在一个列表中。我试过像这样做更多的列表:reslist = []for i in range(len(listi)):    reslist.append([])    for j in range(len(listi[i])):        for k in range(96):            reslist[i].append(listi2[k]+listi[i][j][k]) 然后我将 reslist[i] 与旧的 20 相邻,但我得到的 reslist[j] 比它应该的大得多。我正在寻找的格式与列表的格式相同,内部有 3 个列表,每个列表有 96 个元素。我还有其他问题,因为不需要制作新列表,更理想的是可能只将 list2[k] 添加到 list[k] 元素。我添加了列表的图片,我也想添加元素。总之:我有 2 个列表。选项 1:不是制作新列表,而是将列表 2 的元素添加到列表 1。(我在代码中的解决方案是制作一个新列表)列表 1 在 20 个列表中有 20 个列表和 x 个列表,然后是 96 个元素。列表 2 只有 96 个元素。所以:list[k] = 2.5 和 list[i][j][k] 有 1 那么列表中的新值应该是 list[i][j][k] =3.5 并且到列表中的所有元素. 我希望这是可以理解的。
查看完整描述

1 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

根据您的帖子,现有的列表结构是:


list1 

     - 0

         - 0 - [.....96......]

         - 1 - [.....96......]

         - 2 - [.....96......]

           |

     - 1

         - 0 - [.....96......]

         - 1 - [.....96......]

         - 2 - [.....96......]

           |

     - 2

     - 3

     - 4

       |

     - 19


list2 - [.....96......]

目标是:


复制list1到新列表

在新列表中,对于最低级别子列表中的每个元素,添加来自的匹配元素list2

此代码应该适用于此。


# create new list for totals

lstNew = copy.deepcopy(list1)


# process adds

for e1 in lstNew:  # 20 elements

  for e2 in e1:     # each sublist

     for i in range(len(e2)):  # 96 elements

         e2[i] += lists[i]  # add element from list2

         

print(lstNew)


查看完整回答
反对 回复 2023-06-13
  • 1 回答
  • 0 关注
  • 126 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信