有时您必须使用列表推导将所有内容转换为字符串,包括字符串本身.
b = [str(a) for a in l]
Run Code Online (Sandbox Code Playgroud)
但我必须这样做:
b = [a if type(a)==str else str(a) for a in l]
Run Code Online (Sandbox Code Playgroud)
我想知道str字符串是否足够优化,不能创建另一个字符串副本.
我试过了:
>>> x="aaaaaa"
>>> str(x) is x
True
Run Code Online (Sandbox Code Playgroud)
但这可能是因为Python可以缓存字符串,并重用它们.但是,对于字符串的任何值,这种行为是否得到保证?