2

我将如何制作一个像这样的清单

My_list = [['Item1', 'item2'], ['shark', 'dog', 'cat']]

到如下两个列表:

My_list = ['Item1', 'item2']
My_list2 = ['shark', 'dog', 'cat']

另外,如果我不知道列表中有多少个列表,我该怎么做?

4

5 回答 5

1

您可以使用序列解包:

My_list, My_list2 = My_list

如果My_list可以有更多元素,并且您想要执行以下操作:

for elem in My_list:
    create_variable('My_listn', elem)

这在一般情况下是不可能的Python 不允许在运行时创建本地变量(至少不可靠)。

于 2013-04-10T07:01:04.483 回答
1

假设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
于 2013-04-10T07:01:06.990 回答
1
>>> My_list = [['Item1', 'item2'], ['shark', 'dog', 'cat']]
>>> l1, l2 = My_list
>>> l1
['Item1', 'item2']
>>> l2
['shark', 'dog', 'cat']
于 2013-04-10T07:01:25.460 回答
1
My_list, My_list2 = My_list[0], My_list[1]
于 2013-04-10T07:02:50.343 回答
0
>>> 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']
于 2013-04-10T07:05:42.983 回答