добавление каждого члена массива снова, сразу после себя - PullRequest
1 голос
/ 06 марта 2012

если у меня есть этот массив Python:

mac_tags = [ "global_rtgn", "global_mogn" ]

И я хочу этот массив Python:

mac_tags = [ "global_rtgn", "global_rtgn", "global_mogn","global_mogn" ]

Как я могу создать его программно?

Ответы [ 4 ]

4 голосов
/ 06 марта 2012
new_mac_tags = []
for tag in mac_tags:
    new_mac_tags += [tag, tag]

или

from itertools import chain, izip
new_mac_tags = list(chain.from_iterable(izip(mac_tags, mac_tags)))
1 голос
/ 06 марта 2012
>>> [a for a in mac_tags for x in range(2)]
['global_rtgn', 'global_rtgn', 'global_mogn', 'global_mogn']
0 голосов
/ 06 марта 2012

Обратите внимание, что это более функциональный способ сделать это и может быть не просто идиоматическим кодом Python.

data = [[s, s] for s in [ "global_rtgn", "global_mogn" ]]

data = sum (data, [])

print data
0 голосов
/ 06 марта 2012
[i for i in sorted(mac_tags+mac_tags)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...