繁体   English   中英

映射和加入python列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM