почему моя функция соединения работает неправильно - PullRequest
0 голосов
/ 25 декабря 2009
b=','.join([1,2,3,4,5])
print b

Я хочу напечатать строку: '1,2,3,4,5'

В своих ответах, пожалуйста, старайтесь использовать примеры кода, а не текст, потому что мой английский не очень хорош. Спасибо.

Ответы [ 3 ]

7 голосов
/ 25 декабря 2009
b = ','.join(map(str, [1,2,3,4,5]))
# => '1,2,3,4,5'

Python автоматически не превращает целые числа в строки - сначала нужно преобразовать их в строки, а затем присоединить к ним.

7 голосов
/ 25 декабря 2009

anystring.join занимает итерацию из STRINGS , , а не одного из целых чисел, которое вы передаете ему!

Итак, используйте ','.join(str(x) for x in range(1, 6)) или подобное.

4 голосов
/ 25 декабря 2009

Функция соединения ожидает строки не целые числа, если вы сделали b=','.join(["1","2","3","4","5"]), вместо этого она работает.

Вот вывод консоли:

>>> b=','.join(["1","2","3","4","5"])
>>> print b
1,2,3,4,5
>>>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...