На самом деле я пытаюсь объединить два списка в одну строку, но сохранить их упорядоченное значение:Объединение двух списков для строки
list1 = [1,2,3,4,5]
list2 = ["one", "two", "three", "four", "five"]
result = "1one2two3three4four5five"
(списки всегда имеют одинаковую длину, но различаются по содержанию)
В в тот момент, я делаю это так:
result = ""
i = 0
for entry in list1:
result += entry + list2[i]
i += 1
Я думаю, что должно быть более вещий способ сделать это, но я не знаю, это на самом деле.
Может кто-то из вас может помочь мне в этом.
Это [выражение генератора] (http://www.youtube.com/watch?v=pShL9DCSIUw), используемое рядом с ['str.join()'] (http://docs.python.org/3.3 /library/stdtypes.html#str.join). –
Сделайте это в понимании списка, и это будет еще быстрее. Давая '.join() 'генераторное выражение, Python должен создать список из него * в любом случае *, потому что' .join() 'нужно дважды проверять ввод, один раз для вычисления общей длины вывода и один раз для генерации вывода. Понятие '[list comprehension]' быстрее, чем 'list (выражение генератора)'. –
@MartijnPieters Истинная, но простота, вероятно, важнее – jamylak