我是Python初学者,有点拿不准。如何将例如
这是我所能做到的,但它会将每个数字都放在新的一行上:
a = [[1,2],[3,4],[5,6]]
转换为"12\n34\n56"
的字符串格式?这是我所能做到的,但它会将每个数字都放在新的一行上:
def change(a):
c = ""
for r in a:
for b in r:
c += str(b) + "\n"
return c
'\n'.join([''.join([str(v) for v in u]) for u in a])
。生成器版本看起来更整洁,但列表推导式的开销较小。并且将生成器表达式传递给join()
没有优势,因为它需要在开始工作之前获取所有子字符串(否则使用简单的字符串连接和使用join()
之间就没有优势)。 - PM 2Ringjoin
的方法,这样就不会得到不需要的尾随\n
。或者,只需使用切片从字符串中删除尾随\n
...但这有点凌乱。 - PM 2Ring