在字典python中使用换行符

时间:2013-12-05 21:56:48

标签: python python-2.7 dictionary

我正在尝试通过类似这样的字典创建查询:

名称:名称(第二个名称是用户通过raw_input键入的预设值)

ID:id(此处相同)

出生日期:dob(和此处相同)

以下是我目前的代码:

students[id] = {
    "\nName":name,
    "\nDate of Birth":dob,
    "ID":id, 
    }

以下是结果:

{'\ nName':'样品名称','出生日期':'样品出生日','ID':'样品ID'}

我知道你需要在字符串前打印/打印才能使新行正常工作,但我无法在字典中使用它。有没有办法绕过这个?

1 个答案:

答案 0 :(得分:5)

看起来你正在尝试打印字典,并以某种方式让它自动知道你所追求的格式。相反,要明确您需要的格式。

让我们从一些示例数据开始:

d = {
    'name': 'bob',
    'dob': 'old',
    'ID': 1
}

由于你在两个带有换行符的字段之前,然后我会采取一个实际上你想要按特定顺序(ID为第一个)的不同行上的键/值的实际值。所以,让我们设置一个格式字符串:

layout = """
    ID: {ID}
    Name: {name}
    Date of Birth: {dob}
"""

我们在这里使用多行字符串''' - 这样我们就可以跨多行构建类似文本的模板,保持可读性。

最后,我们使用布局并将字典传递给它,Python将使用键{name}替换name字典中的值(依此类推......)

print layout.format(**d)

结果:

ID: 1
Name: bob
Date of Birth: old