2014-01-30 73 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) 

最好 彼得

的[連接一個列表的元素]