如何使用单行代码将dict转换为字符串


d = {1:'a', 2:'b'}
#s = '1|a;2|b'
s = ';'.join([str(k)+'|'+d[k] for k in d])

有更好的方法来转换吗?

我只会做两个小的更改:

  1. 使用f-string
  2. 使用生成器表达式而不是列表理解,这样就不需要在加入之前将所有值保存在内存中。不过,除非你有成千上万的键/值对,否则这并不是什么大不了的事
s = ';'.join(f'{k}|{d[k]}' for k in d)

最新更新