Мне нужно объединить элементы списка в строку (пока выглядит просто).Объединение различных типов данных списка в строку
Однако этот список содержит некоторые элементы, которые являются строками и другими, которые являются числами.
То, что я хочу достичь, это строка, где исходные строки еще цитируемый но цифры не являются:
Пример:
mystring = ['text field', 24, 'text2', 55.45]
Ожидаемый результат (на самом деле это строка, я удалил открытие и закрытие котировки для ясности, простые кавычки должны быть частью строки):
'text field', 24, 'text2', 55.45
то, что я пытался до сих пор:
>>> ', '.join(mystring)
интерпретатор жалуется на междунар:
TypeError: sequence item 1: expected string, int found
Если я пытаюсь отобразить все в строку, то я скучаю кавычки строка.
>>> ', '.join(map(str,a))
'text field, 24, text2, 55.45'
Конечно, я мог бы изменить свой первоначальный список, чтобы выглядеть следующим образом:
mylist2 = ["'text field'", 24, "'text2'", 55.45]
, а затем он работает, но я действительно хочу сохранить свой первоначальный список и достичь желаемого результата.
Любые предложения?
Мне нравится использование 'map', однако мне интересно, есть ли разница между использованием 'map' или использование списка (решение @Willem)? Я отправлю еще один вопрос, чтобы спросить, есть ли на самом деле разница или это просто семантическое предпочтение. –
@SembeiNorimaki Не задавайте другой вопрос, см. Http://stackoverflow.com/questions/1247486/python-list-comprehension-vs-map –