我想将每个字符串包装在花括号中的可变长度列表中,并用逗号连接它们。我现在有这个:
myList = [ 'foo', 'bar', 'baz' ]
myString = ','.join( map( lambda s: "{{{0}}}".format(s), myList ) )
print myString
# {foo},{bar},{baz}
Python永远不应该那么难看!是否有更简洁的方法来实现这一目标?
答案 0 :(得分:5)
您还可以提供以下内容。对我来说感觉有点自然。
",".join(["{" + e + "}" for e in myList])
或xbello建议,
",".join(["{%s}" % e for e in myList])
答案 1 :(得分:3)
你可以尝试:
>>> '{' + '},{'.join(myList) + '}'
'{foo},{bar},{baz}'
答案 2 :(得分:3)
我个人喜欢你的开始。您可以稍微缩短字符串格式:
In [2]: ','.join(map(lambda s:'{%s}'%s, myList))
Out[2]: '{foo},{bar},{baz}'
或(我觉得可读性稍差)
In [3]: ('{%s},' * len(myList))[:-1] % tuple(myList)
Out[3]: '{foo},{bar},{baz}'
答案 3 :(得分:1)
有点偏离墙的方法:
>>> myList = [ 'foo', 'bar', 'baz' ]
>>> re.sub("'(.*?)'", r"{\1}",repr(myList))[1:-1]
'{foo}, {bar}, {baz}'