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

最好 彼得

的[连接一个列表的元素]