Właściwie staram się połączyć dwie listy do jednej strunie, ale zachować je uporządkowane oznacza:Łącząc dwie listy ciąg
list1 = [1,2,3,4,5]
list2 = ["one", "two", "three", "four", "five"]
result = "1one2two3three4four5five"
(wykazy zawsze mają taką samą długość, lecz różnią się zawartością)
Na chwila robię to w ten sposób:
result = ""
i = 0
for entry in list1:
result += entry + list2[i]
i += 1
myślę, że musi być bardziej pythonic sposobem, aby to zrobić, ale nie wiem właściwie.
Ktoś z was może mi pomóc w tej sprawie.
To jest [wyrażenie generujące] (http://www.youtube.com/watch?v=pShL9DCSIUw) używane razem z ['str.join()'] (http://docs.python.org/3.3 /library/stdtypes.html#str.join). –
Uczyń to ze zrozumieniem listy, a będzie jeszcze szybciej. Podając '.join() 'wyrażenie generatora, Python musi utworzyć z niego listę * tak * ponieważ' .join() 'musi przeskanować dane wejściowe dwukrotnie, raz, aby obliczyć całkowitą długość wyjścia i raz, aby wygenerować wynik. "[Zrozumienie listy]" jest szybsze niż 'lista (wyrażenie generujące)'. –
@MartijnPieters Prawda, ale prostota jest prawdopodobnie ważniejsza – jamylak