Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 7, 2009 00:02:45

jartasa
От:
Зарегистрирован: 2009-09-20
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Разбить список строк.

Есть список строк.
Вида:
и т.д.Нужно разбить это список на такой список:
[,]
Подскажите самый удобный способ разбиения.Я понимаю что можно обойти этот список в цикле,применить сплит и сохранять этот всё в другой список.Но мне попадался на глаза очень красивый способ,не могу найти где я его видел.



Отредактировано (Окт. 7, 2009 00:05:46)

Офлайн

#2 Окт. 7, 2009 09:27:12

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Разбить список строк.

lst = ["строка:строка2","строка3:строка4","строка5:строка6"]
result = zip(*[x.split(":") for x in lst])



Офлайн

#3 Окт. 7, 2009 21:18:35

jartasa
От:
Зарегистрирован: 2009-09-20
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Разбить список строк.

Спасибо,а теперь приведите пример со словарями,если не сложно.
{“слово1”:“слово2”}



Офлайн

#4 Окт. 7, 2009 21:23:37

pasaranax
От:
Зарегистрирован: 2009-06-13
Сообщения: 574
Репутация: +  0  -
Профиль   Отправить e-mail  

Разбить список строк.

dic = {"слово1":"слово2", "слово3":"слово4", "слово5":"слово6"}
result = zip(*[(key, value) for (key, value) in dic.items()])



Офлайн

#5 Окт. 7, 2009 22:26:20

jartasa
От:
Зарегистрирован: 2009-09-20
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Разбить список строк.

self.syn = zip(*)
ValueError: too many values to unpack

Можно как-нибудь побороть ?Список состоит из 100000 записей.



Офлайн

#6 Окт. 7, 2009 23:46:04

pasaranax
От:
Зарегистрирован: 2009-06-13
Сообщения: 574
Репутация: +  0  -
Профиль   Отправить e-mail  

Разбить список строк.

Если ты будешь более внимательным, то найдешь различие между моим и своим примерами.



Офлайн

#7 Окт. 8, 2009 00:32:30

jartasa
От:
Зарегистрирован: 2009-09-20
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Разбить список строк.

pasaranax
Если ты будешь более внимательным, то найдешь различие между моим и своим примерами.
Как бы мне надо было из списка в словарь,насколько я помню в списках нет items.



Отредактировано (Окт. 8, 2009 00:33:28)

Офлайн

#8 Окт. 8, 2009 09:33:10

Dimka665
От:
Зарегистрирован: 2008-09-19
Сообщения: 177
Репутация: +  0  -
Профиль   Отправить e-mail  

Разбить список строк.

pasaranax
dic = {"слово1":"слово2", "слово3":"слово4", "слово5":"слово6"}
result = zip(*[(key, value) for (key, value) in dic.items()])
result = zip(*dic.iteritems())
так чтоли?
dic = ["слово1:слово2", "слово3:cлово4", "слово5:cлово6"]
result = dict(x.split(":") for x in dic)



Офлайн

#9 Окт. 8, 2009 10:45:01

jartasa
От:
Зарегистрирован: 2009-09-20
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Разбить список строк.

ValueError: dictionary update sequence element #0 has length 1; 2 is required



Офлайн

#10 Окт. 8, 2009 10:53:30

Dimka665
От:
Зарегистрирован: 2008-09-19
Сообщения: 177
Репутация: +  0  -
Профиль   Отправить e-mail  

Разбить список строк.

отсутствует “:” в строке



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version