Каким будет ваш предпочтительный способ конкатенации строк из последовательности, так что между каждой последовательной парой добавляется запятая. То есть, как вы на карте, например, [ 'a', 'b', 'c' ]
- 'a,b,c'
? (Случаи [ s ]
и []
должны быть сопоставлены с s
и ''
, соответственно.)Как бы вы сделали строку, разделенную запятой, из списка?
я обычно в конечном итоге, используя нечто вроде ''.join(map(lambda x: x+',',l))[:-1]
, но и чувство немного неудовлетворенным.
Редактировать: Я оба стыжусь и счастлив, что решение так просто. Очевидно, я едва ли знаю, что я делаю. (Я, вероятно, нужен «простой» конкатенацию в прошлом, и как-то запомнил s.join([e1,e2,...])
как стенография для s+e1+e2+...
.)
Вы правы, это не сработает, если список содержит цифры, но так оно и будет: myList = ','. Join (map (str, myList)) – 2008-09-15 18:45:29
Ах, отлично! Я буду использовать map() в будущем. Я всегда делал: myString = ",". Join ([str (x) для x в myList]) – 2008-10-01 09:37:34
`myString =", ". Join (myList)` даже если список содержит числа. Я просто попробовал. – zengr 2012-11-01 03:37:29