Так что ответ @ esthete правильный. Я просто хочу добавить объяснения.
>>> ls3 = ['-'.join(x) for x in zip(ls1, ls2)]
['1-4', '2-3', '3-2', '4-1']
в [someaction(x) for x in somelist]
будет возвращать список, где каждый элемент является someaction()
выполняется на соответствующем x
в somelist
. Это называется списком .
В этом случае somelist
является zip(ls1,ls2)
, который создает [(ls1[0], ls2[0]), (ls1[1], ls2[1]), ...]
Так zip(ls1,ls2)
возвращает [('1', '4'), ('2', '3'), ('3', '2'), ('4', '1')]
someaction()
является '-'.join()
Что это делает он принимает Iterable последовательность строк и соединяет их вместе со строкой '-'
между ними , Таким образом, вы могли бы сделать, чтобы получить ' to '.join(x)
['1 to 4', '2 to 3', ...]
Любая причина, почему вы хотите это сделать? – monkut
@monkut hahahah – jamylak