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

从列表列表创建许多列表

从列表列表创建许多列表

临摹微笑 2021-08-17 18:20:45
我已经通过列表理解创建了一个列表列表,并想通过迭代将这个列表列表分解成许多列表(每个列表的变量名称也迭代),这可能吗?至于我想要的究竟是什么意思:listoflists = [[1,2,3],[2,3,4],[3,4,5,6,7],["a","b"]]输出为:list1=[1,2,3]list2=[2,3,4]list3=[3,4,5,6,7]list4=["a","b"]所以我不仅得到了解开的列表,而且还得到了每个列表的名称,这些列表用 range(len(listoflists)) 迭代。为了澄清为什么我需要这个,对于我的项目,我想编写一个 csv 文件,每列都包含这些列表之一。
查看完整描述

2 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

考虑形成一个字典,其中您的单独列表被捕获在键值对中:


>>> manylists = {f'list{i}': j for i, j in enumerate(listoflists, 1)}

>>> manylists

{'list1': [1, 2, 3], 'list2': [2, 3, 4],

 'list3': [3, 4, 5, 6, 7], 'list4': ['a', 'b']}

这大致模仿了您正在尝试执行的“动态变量创建”,但不是所有这些列表都在您的本地命名空间中浮动,而是全部包含在一个整洁的数据结构(字典)中,称为manylists.


您也可以使用 simple dict(enumerate(listoflists, 1)),其中结果键将是从 1 开始并从那里升序的整数。


查看完整回答
反对 回复 2021-08-17
?
LEATH

TA贡献1936条经验 获得超6个赞

您可以使用简单的 for 迭代您的列表列表

for list in listoflists:

然后以您想要的格式打印它。


查看完整回答
反对 回复 2021-08-17
  • 2 回答
  • 0 关注
  • 130 浏览
慕课专栏
更多

添加回答

举报

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