在字典python中使用换行符

0 python dictionary python-2.7

我试图通过看起来像这样的字典创建一个查询:

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

ID:id(此处相同)

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

这是我当前的代码:

students[id] = {
    "\nName":name,
    "\nDate of Birth":dob,
    "ID":id, 
    }
Run Code Online (Sandbox Code Playgroud)

结果如下:

{'\nName':'示例名称','\n出生日':'样例出生日','ID':'样本ID'}

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

Jon*_*nts 5

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

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

d = {
    'name': 'bob',
    'dob': 'old',
    'ID': 1
}
Run Code Online (Sandbox Code Playgroud)

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

layout = """
    ID: {ID}
    Name: {name}
    Date of Birth: {dob}
"""
Run Code Online (Sandbox Code Playgroud)

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

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

print layout.format(**d)
Run Code Online (Sandbox Code Playgroud)

结果:

ID: 1
Name: bob
Date of Birth: old
Run Code Online (Sandbox Code Playgroud)