Распаковка списка списков

Я извлекаю словарь, который дает мне этот вывод:

mylist= [[u'Ann', u'jOhn', u'Clive'], [u'124street', u'32B', u'16eve', u'beach']]

Когда я пытаюсь разделить его на два, я получаю ValueError:

nest1, nest2 = zip(*mylist)

ValueError: too many values to unpack

В конечном итоге мне нужно что-то вроде этого:

nest1=['Ann', 'jOhn', 'Clive']
nest2=['124Street', '32B', '16eve', 'beach]

Я нашел zip(*mylist) в этом ответе.


person Ahsan Naseem    schedule 25.07.2017    source источник
comment
Почему бы не просто nest1, nest2 = mylist ?   -  person khelwood    schedule 25.07.2017
comment
@khelwood это сработало, большое спасибо   -  person Ahsan Naseem    schedule 25.07.2017


Ответы (2)


*zip предназначен для распаковки списков кортежей. В вашем случае распаковывать не нужно, поэтому просто распакуйте сам список:

In [473]: x, y = [[u'Ann', u'jOhn', u'Clive'], [u'124street', u'32B', u'16eve', u'beach']]

In [474]: x
Out[474]: ['Ann', 'jOhn', 'Clive']

In [475]: y
Out[475]: ['124street', '32B', '16eve', 'beach']
person cs95    schedule 25.07.2017

Попробуй это

mylist= [[u'Ann', u'jOhn', u'Clive'], [u'124street', u'32B', u'16eve', u'beach']]
nest1 = mylist[0]
nest2 = mylist[1]
print("nest1={}".format(nest1))
print("nest2={}".format(nest2))

Выходы:

nest1=['Ann', 'jOhn', 'Clive']
nest2=['124street', '32B', '16eve', 'beach']

person Expert Ngobeni    schedule 25.07.2017