猿问

从Python列表中的项目创建新的空列表?

my_list = ['c1','c2','c3']

无论如何,基于列表中的项目创建一定数量的新列表?


结果将是:


c1 = []

c2 = []

c3 = []


慕容3067478
浏览 186回答 2
2回答

小怪兽爱吃肉

您可以使用globals():>>> my_list = ['c1','c2','c3']>>> for x in my_list:...     globals()[x] = []...     >>> c1[]>>> c2[]>>> c3[]但最好在此处使用dict:>>> dic = {item : []  for item in my_list}>>> dic{'c2': [], 'c3': [], 'c1': []}

白板的微信

建议不要使用列表中的名称来创建新的全局变量,而建议使用字典:my_list = ['c1', 'c2', 'c3'] my_dict = {k: [] for k in my_list}然后,您可以使用my_dict['c1']或来访问这些列表之一my_dict['c2']。另一种解决方案是将新列表作为属性添加到某个对象或模块。例如:lists = type('Lists', (object,), {k: [] for k in my_list})在这之后,你可以使用访问列表lists.c1,lists.c2等等。在我看来,这两种方法都比修改globals()或干净,locals()并且它们给您非常相似的行为。请注意,如果您使用的是Python 2.6或更低版本,则需要将字典理解替换为dict((k, []) for k in my_list)。
随时随地看视频慕课网APP

相关分类

Python
我要回答