【发布时间】:2018-11-04 11:14:09
【问题描述】:
我有一个字符串数组:
data = ['a', 'b', 'c', 'd']
我要获取:
s.a, s.b, s.c, s.d
我试过了:
"s., ".join(fields)
不起作用,因为我需要前面的 s. 和末尾的 ,
【问题讨论】:
标签: python string python-3.x
我有一个字符串数组:
data = ['a', 'b', 'c', 'd']
我要获取:
s.a, s.b, s.c, s.d
我试过了:
"s., ".join(fields)
不起作用,因为我需要前面的 s. 和末尾的 ,
【问题讨论】:
标签: python string python-3.x
您应该对从'x' 到's.x' 的各个元素执行映射,我们可以这样做:
map('s.{}'.format, data)
然后我们可以用逗号将它们连接在一起:
', '.join(map('s.{}'.format, data))
这会产生:
>>> ', '.join(map('s.{}'.format, data))
's.a, s.b, s.c, s.d'
或者像@JonClements说的,既然python-3.6,我们可以用literal string interpolation [PEP-498]:
', '.join(f's.{d}' for d in data)
【讨论】:
你们很亲密。对要对每个字符串执行的操作使用列表推导,然后将字符串列表连接在一起:
data = ['a', 'b', 'c', 'd']
', '.join(['s.'+x for x in data])
# 's.a, s.b, s.c, s.d'
【讨论】: