如何使用一行代码将字典转换为字符串?

mar*_*lon 1 python

d = {1:'a', 2:'b'}

#s = '1|a;2|b'

s = ';'.join([str(k)+'|'+d[k] for k in d])
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来进行这种转换?

Ale*_*ica 5

我只会做两个小改变:

  1. 使用 f 字符串
  2. 使用生成器表达式而不是列表理解,这样就无需在连接之前将所有值保存在内存中。不过,除非您有数千个键/值对,否则这并不是什么大问题。
s = ';'.join(f'{k}|{d[k]}' for k in d)
Run Code Online (Sandbox Code Playgroud)