Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 28, 2010 11:40:29

Chernetska Olga
От:
Зарегистрирован: 2010-01-28
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

как превратить список в string, когда в одном списке деклька списков?

как превратить список в string, когда в одном списке деклька списков?



Офлайн

#2 Янв. 28, 2010 12:19:38

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

как превратить список в string, когда в одном списке деклька списков?

что такое “деклька списков”? :)
если имеется ввиду многомерный массив, то на примере двумерного вот так:

l = [["1", "2", "3"], ["4", "5", "6"], ["7", "8", "9"]]
s = "".join(["".join(i) for i in l])
для большей вложенности лучше написать рекурсивную функцию



Офлайн

#3 Янв. 28, 2010 14:22:37

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

как превратить список в string, когда в одном списке деклька списков?

или использовать эту функцию и сджойнить результат.



Офлайн

#4 Янв. 28, 2010 18:05:11

FLeX
От:
Зарегистрирован: 2008-11-26
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

как превратить список в string, когда в одном списке деклька списков?

pasaranax

>>> l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> s = ''.join([''.join('%s' % i) for i in l])
>>> s
'[1, 2, 3][4, 5, 6][7, 8, 9]'
Тогда уж короче будет:
>>> l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> s = ''.join('%s' % i for i in l)
>>> s
'[1, 2, 3][4, 5, 6][7, 8, 9]'
Ну, с поправкой на ‘%s’, конечно.
Вот такое решение будет в самый раз, думаю:
>>> import re
>>> re.sub(r"[^\d]", "", str(l))
'123456789'



Офлайн

#5 Янв. 28, 2010 22:49:33

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

как превратить список в string, когда в одном списке деклька списков?

Список состоит из строк, а у тебя инты, и поправка на ‘%s’ портит весь мой код, попробуй выполнить его в оригинале. С регуляркой ты ваще отжог =D я цифры написал чисто для наглядности.



Офлайн

#6 Янв. 29, 2010 18:14:22

FLeX
От:
Зарегистрирован: 2008-11-26
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

как превратить список в string, когда в одном списке деклька списков?

попробуй выполнить его в оригинале.
Пардон, работает.
С регуляркой ты ваще отжог big_smile я цифры написал чисто для наглядности.
Да хоть буквы, хоть что:
>>> l = [["asdasd"]["qwwqeqwe", "asdasdaqweq"]]
>>> re.sub(r"\W", "", str(l))
'asdasdqwwqeqweasdasdaqweq'
UPD:
Понял, что можно даже короче регулярку записать



Отредактировано (Янв. 29, 2010 18:26:38)

Офлайн

#7 Янв. 30, 2010 08:22:46

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

как превратить список в string, когда в одном списке деклька списков?

FLeX
Понял, что можно даже короче регулярку записать
Вы хоть понимаете что такой подход это гланды перанально удалять? Нет?! Тогда прошу:
In [13]: l = [["asdasd 111(@#)"],["qw3333#########$$$$$$$$$wqeqwe", "asdas%%%%%%%%%daqweq"]]

In [14]: re.sub(r"\W", "", str(l))
Out[14]: 'asdasd111qw3333wqeqweasdasdaqweq'



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#8 Янв. 30, 2010 16:43:19

FLeX
От:
Зарегистрирован: 2008-11-26
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

как превратить список в string, когда в одном списке деклька списков?

PooH
Вы хоть понимаете, что регулярку можно изменить за секунды, чтобы он и спецсимволы воспринимал?
К тому же, не вижу причин для такой скурпулезной придирчивости к моему варианту. Ну, разве что померяться… кодом, пардон



Офлайн

#9 Янв. 31, 2010 14:47:10

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

как превратить список в string, когда в одном списке деклька списков?

FLeX
PooH
Вы хоть понимаете, что регулярку можно изменить за секунды, чтобы он и спецсимволы воспринимал?
К тому же, не вижу причин для такой скурпулезной придирчивости к моему варианту. Ну, разве что померяться… кодом, пардон
Эхе-хе-хе… Была у программиста проблема и для ее решения он воспользовался регуляркой, теперь у него две проблемы.
Так вот о спецсимволах, не забудьте, пожалуйста, обработать такие символы как ",“'=”.
Кодом я мериться не собираюсь, взрослые люди, можно и чем иным помериться ;) Но вот ИМХО гораздо проще обойти рекурсивно список и собрать строки, чем слить все в кашу и пытаться выбрать из нее строки.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#10 Янв. 31, 2010 18:08:18

FLeX
От:
Зарегистрирован: 2008-11-26
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

как превратить список в string, когда в одном списке деклька списков?

PooH
Прочитав ваше сообщение, хочется начать сообщение со смайлика, что я и делаю: ^^.
Я предложил свой вариант, вы - свой. Какой из них подойдет топикстартеру решать ему самому. Я лишь хотел обратить его внимание на неочевидный и довольно забавный способ решения проблемы.

И, раз уж все

взрослые люди
То негоже меряться чем-либо, по-моему. Надеюсь, что на сабж поста ответ был найден, засим хочу дискуссию окончить (ну, или хотя бы во флуд ее перенести).

Спасибо за внимание. /thread



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version