Форум сайта python.su
как превратить список в string, когда в одном списке деклька списков?
Офлайн
что такое “деклька списков”? :)
если имеется ввиду многомерный массив, то на примере двумерного вот так:
l = [["1", "2", "3"], ["4", "5", "6"], ["7", "8", "9"]]
s = "".join(["".join(i) for i in l])
Офлайн
или использовать эту функцию и сджойнить результат.
Офлайн
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]'
>>> import re
>>> re.sub(r"[^\d]", "", str(l))
'123456789'
Офлайн
Список состоит из строк, а у тебя инты, и поправка на ‘%s’ портит весь мой код, попробуй выполнить его в оригинале. С регуляркой ты ваще отжог =D я цифры написал чисто для наглядности.
Офлайн
попробуй выполнить его в оригинале.Пардон, работает.
С регуляркой ты ваще отжог big_smile я цифры написал чисто для наглядности.Да хоть буквы, хоть что:
>>> l = [["asdasd"]["qwwqeqwe", "asdasdaqweq"]]
>>> re.sub(r"\W", "", str(l))
'asdasdqwwqeqweasdasdaqweq'
Отредактировано (Янв. 29, 2010 18:26:38)
Офлайн
FLeXВы хоть понимаете что такой подход это гланды перанально удалять? Нет?! Тогда прошу:
Понял, что можно даже короче регулярку записать
In [13]: l = [["asdasd 111(@#)"],["qw3333#########$$$$$$$$$wqeqwe", "asdas%%%%%%%%%daqweq"]]
In [14]: re.sub(r"\W", "", str(l))
Out[14]: 'asdasd111qw3333wqeqweasdasdaqweq'
Офлайн
PooH
Вы хоть понимаете, что регулярку можно изменить за секунды, чтобы он и спецсимволы воспринимал?
К тому же, не вижу причин для такой скурпулезной придирчивости к моему варианту. Ну, разве что померяться… кодом, пардон
Офлайн
FLeXЭхе-хе-хе… Была у программиста проблема и для ее решения он воспользовался регуляркой, теперь у него две проблемы.
PooH
Вы хоть понимаете, что регулярку можно изменить за секунды, чтобы он и спецсимволы воспринимал?
К тому же, не вижу причин для такой скурпулезной придирчивости к моему варианту. Ну, разве что померяться… кодом, пардон
Офлайн
PooH
Прочитав ваше сообщение, хочется начать сообщение со смайлика, что я и делаю: ^^.
Я предложил свой вариант, вы - свой. Какой из них подойдет топикстартеру решать ему самому. Я лишь хотел обратить его внимание на неочевидный и довольно забавный способ решения проблемы.
И, раз уж все
взрослые людиТо негоже меряться чем-либо, по-моему. Надеюсь, что на сабж поста ответ был найден, засим хочу дискуссию окончить (ну, или хотя бы во флуд ее перенести).
Офлайн