2014-01-30 4 views
0

Ниже приведен мой код. Я хочу добавить строку ip: port в список, разделенный запятыми.Добавить запятые между переменными

ip = ['1.1.1.1', '2.2.2.2', '3.3.3.3', '4.4.4.4'] 
memcache = '' 
port = '11211' 
for node in ip: 
    memcache += str(node) + ':' + port 
    # join this by comma but exclude last one 

Я хочу, чтобы выход в следующем формате:

memcache = 1.1.1.1:11211, 2.2.2.2:11211, 3.3.3.3:11211, 4.4.4.4:11211

Как я могу добиться этого?

+0

возможно дубликат [Соединить элементы списка] (http://stackoverflow.com/questions/16522362/concatenate-elements-of-a-list) –

ответ

4
memcache = ', '.join(address + ':' + port for address in ip) 

При этом используется метод join присоединиться к струнам ', ' в качестве разделителя. Выражение генератора используется для добавления порта к каждому адресу; это также может быть сделано со списком. (Там нет фактически никакой выгоды производительности в genexp в этом контексте, но я предпочитаю синтаксис в любом случае.)

+0

@AshwiniChaudhary: Действительно, я это сделал. – user2357112

4

memcache = ', '.join("{0}:{1}".format(ip_addr, port) for ip_addr in ip)

+2

Вы забыли закрытие '' '. – gioi

+0

@gioi - я исправил свою ошибку :-) – Ewan

1
memcache = ', '.join(address + ":" + port for address in ip) 

лучший Peter

Смежные вопросы