Форум сайта python.su
Есть список строк.
Вида:
и т.д.Нужно разбить это список на такой список:
[,]
Подскажите самый удобный способ разбиения.Я понимаю что можно обойти этот список в цикле,применить сплит и сохранять этот всё в другой список.Но мне попадался на глаза очень красивый способ,не могу найти где я его видел.
Отредактировано (Окт. 7, 2009 00:05:46)
Офлайн
lst = ["строка:строка2","строка3:строка4","строка5:строка6"]
result = zip(*[x.split(":") for x in lst])
Офлайн
Спасибо,а теперь приведите пример со словарями,если не сложно.
{“слово1”:“слово2”}
Офлайн
dic = {"слово1":"слово2", "слово3":"слово4", "слово5":"слово6"}
result = zip(*[(key, value) for (key, value) in dic.items()])
Офлайн
self.syn = zip(*)
ValueError: too many values to unpack
Можно как-нибудь побороть ?Список состоит из 100000 записей.
Офлайн
Если ты будешь более внимательным, то найдешь различие между моим и своим примерами.
Офлайн
pasaranaxКак бы мне надо было из списка в словарь,насколько я помню в списках нет items.
Если ты будешь более внимательным, то найдешь различие между моим и своим примерами.
Отредактировано (Окт. 8, 2009 00:33:28)
Офлайн
pasaranaxdic = {"слово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)
Офлайн
ValueError: dictionary update sequence element #0 has length 1; 2 is required
Офлайн
отсутствует “:” в строке
Офлайн