Конкатенация строк Python не работает должным образом - PullRequest
1 голос
/ 26 февраля 2012
out = 'Hello'
print( out.join([' world']) )

Когда я запускаю его, он показывает

world

Разве это не должно печатать Привет мир?

Ответы [ 3 ]

6 голосов
/ 26 февраля 2012

Нет, он объединяет элементы списка со словом 'Hello'. Например, если бы у вас было ['A', 'B'], то получилось бы 'AHelloB'. Поскольку в вашем списке только один элемент, присоединяться не к чему, поэтому он может просто вернуть единственный элемент там без изменений.

То, что вы хотели, это, вероятно, что-то вроде ' '.join(['Hello', 'world']).

1 голос
/ 26 февраля 2012

join() ведет себя немного иначе, чем вы ожидаете.Требуется список слов, чтобы присоединиться.Начальное слово - это то, что вы помещаете между соединениями.

' '.join(['Hello', 'world'])
>> Hello world

','.join(['Hello', 'world'])
>> Hello,world

'/'.join(['name', 'location', 'age'])
>> name/location/age

'*'.join(['name'])
>> name

'hello'.join(['world'])
>> world
0 голосов
/ 26 февраля 2012

Поскольку ваш массив содержит только одну запись " world", присоединяться нечего.

...