python - 在 Python 中格式化多行 dict 的正确方法是什么?

在 Python 中,我想在我的代码中编写一个多行字典。有几种方法可以格式化它。以下是我能想到的一些:

  1. mydict = { "key1": 1,
               "key2": 2,
               "key3": 3, }
    
  2. mydict = { "key1": 1,
               "key2": 2,
               "key3": 3,
             }
    
  3. mydict = {
        "key1": 1,
        "key2": 2,
        "key3": 3,
    }
    

我知道以上任何一项在语法上都是正确的,但我假设 Python dict 有一种首选的缩进和换行样式。这是什么?

注意:这不是语法问题。以上所有内容(据我所知)都是有效的 Python 语句,并且彼此等价。

最佳答案

我使用#3。对于长列表、元组等也是如此。它不需要在缩进之外添加任何额外的空格。一如既往,保持一致。

mydict = {
    "key1": 1,
    "key2": 2,
    "key3": 3,
}

mylist = [
    (1, 'hello'),
    (2, 'world'),
]

nested = {
    a: [
        (1, 'a'),
        (2, 'b'),
    ],
    b: [
        (3, 'c'),
        (4, 'd'),
    ],
}

同样,这是我在不引入任何空格的情况下包含大字符串的首选方式(就像使用三引号多行字符串时一样):

data = (
    "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABG"
    "l0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEN"
    "xBRpFYmctaKCfwrBSCrRLuL3iEW6+EEUG8XvIVjYWNgJdhFjIX"
    "rz6pKtPB5e5rmq7tmxk+hqO34e1or0yXTGrj9sXGs1Ib73efh1"
    "AAAABJRU5ErkJggg=="
)

https://stackoverflow.com/questions/6388187/

相关文章:

Python 请求 - 无连接适配器

python - 设置 Django 以使用 MySQL

linux - Linux 上的 PostgreSQL 数据库默认位置

python - 检查数字是 int 还是 float

python - Python NumPy 中的 np.mean() 与 np.average()?

python - 如何从外部访问本地 Django 网络服务器

linux - 如何将 AWS CLI 升级到最新版本?

linux - 我可以使用 GDB 调试正在运行的进程吗?

c - 在 Linux 中启动 GDB 时如何传递命令行参数?

c - DESTDIR 和 PREFIX 的 make