我将如何制作一个像这样的清单
My_list = [['Item1', 'item2'], ['shark', 'dog', 'cat']]
到如下两个列表:
My_list = ['Item1', 'item2']
My_list2 = ['shark', 'dog', 'cat']
另外,如果我不知道列表中有多少个列表,我该怎么做?
您可以使用序列解包:
My_list, My_list2 = My_list
如果My_list
可以有更多元素,并且您想要执行以下操作:
for elem in My_list:
create_variable('My_listn', elem)
这在一般情况下是不可能的。Python 不允许在运行时创建本地变量(至少不可靠)。
假设My_list
真的意味着看起来像:
My_list = [['Item1', 'item2'], ['shark', 'dog', 'cat']]
而且你真的想要你所要求的,你可以做这样的事情:
My_list2 = My_list[1]
My_list = My_List[0]
或者,正如其他人所建议的那样,您可以使用列表解包:
My_list, My_list2 = My_list
>>> My_list = [['Item1', 'item2'], ['shark', 'dog', 'cat']]
>>> l1, l2 = My_list
>>> l1
['Item1', 'item2']
>>> l2
['shark', 'dog', 'cat']
My_list, My_list2 = My_list[0], My_list[1]
>>> My_list = ['Item1', 'item2'],['shark', 'dog', 'cat']
>>> My_list
(['Item1', 'item2'], ['shark', 'dog', 'cat'])
>>> len(My_list)
2
>>> My_list[0]
['Item1', 'item2']
>>> My_list[1]
['shark', 'dog', 'cat']
>>> My_list[2]
Traceback (most recent call last):
File "<pyshell#34>", line 1, in <module>
My_list[2]
IndexError: tuple index out of range
>>> My_list, My_list2 = My_list
>>> My_list
['Item1', 'item2']
>>> My_list2
['shark', 'dog', 'cat']