[英]Mapping and joining a python list
我想将每个字符串包装在花括号中的可变长度列表中,并用逗号连接它们。 我现在有这个:
myList = [ 'foo', 'bar', 'baz' ]
myString = ','.join( map( lambda s: "{{{0}}}".format(s), myList ) )
print myString
# {foo},{bar},{baz}
Python应该永远不会那么难看! 是否有更简洁的方法来实现这一目标?
您也可以给出以下内容。 对我来说感觉有点自然。
",".join(["{" + e + "}" for e in myList])
或者正如xbello所建议的,
",".join(["{%s}" % e for e in myList])
你可以尝试:
>>> '{' + '},{'.join(myList) + '}'
'{foo},{bar},{baz}'
我个人喜欢你的开始。 您可以稍微缩短字符串格式:
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}'
有点偏离墙的方法:
>>> myList = [ 'foo', 'bar', 'baz' ]
>>> re.sub("'(.*?)'", r"{\1}",repr(myList))[1:-1]
'{foo}, {bar}, {baz}'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.