нубский вопрос по питону :)
','.join([str(n) for n in t])
Или str(t) если лишние пробелы не мешают.
Или str(t) если лишние пробелы не мешают.
мне ','.join(map(str, t больше нравится
Да, так универсальнее, но map тоже list генерит. Это совсем не обязательно, через генератор быстрее будет:
','.join(str(i) for i in t).
','.join(str(i) for i in t).
через map лучше идеологически.
к тому же, в третьем питоне мэп уже делает итератор, как и следовало ожидать:
к тому же, в третьем питоне мэп уже делает итератор, как и следовало ожидать:
>>> map(str, range(10
<map object at 0x0000000004802BA8>
Идеологически? Что это означает?
Я имел ввиду, что через map ближе к человеческому языку, поэтому проще этот код читать и поддерживать:
> map(str, t)
= сделать список, путём применения str к элементам t
> [str(i) for i in t]
= для каждого элемента i из t, применить к i str, и из результатов сделать список
в частности, тут появляется лишняя переменная i.
> map(str, t)
= сделать список, путём применения str к элементам t
> [str(i) for i in t]
= для каждого элемента i из t, применить к i str, и из результатов сделать список
в частности, тут появляется лишняя переменная i.
В более сложных случаях, имхо, map хуже:
У человеков есть ограничение на число вещей, которые они могут держать в голове одновременно. В данном случае - это глубина вложенности. В отличие от map, код с list comprehension линейный и читается подряд.
','.join(str(x)+':'+str(y) for (x, y) in d.items
','.join(map(lambda (x, y): str(x)+':'+str(y d.items
- запись длиннее
- опять возникли лишние переменные x, y
- (x, y) определяются далеко от места, где им назначают значения
- много вложенных скобок
У человеков есть ограничение на число вещей, которые они могут держать в голове одновременно. В данном случае - это глубина вложенности. В отличие от map, код с list comprehension линейный и читается подряд.
конечно, я же не говорю, что лист компрехеншн — отстой 

','.join(map('{0}:{1}'.format, *zip(*d.items
','.join(map('{0}:{1}'.format, d.keys d.values
str(t)[1:-1].replace(' ','')фу
code:как-то по-перловому это выглядит
str(t)[1:-1].replace(' ','')

Оставить комментарий
yolki
есть тупл из целых чисел. t = (1,2,3,4)как из него получить строку "1,2,3,4" - числа через запятую.
хочется
однако она жалуется, что там целые числа, а не строки