我正在尝试通过类似这样的字典创建查询:
名称:名称(第二个名称是用户通过raw_input键入的预设值)
ID:id(此处相同)
出生日期:dob(和此处相同)
以下是我目前的代码:
students[id] = {
"\nName":name,
"\nDate of Birth":dob,
"ID":id,
}
以下是结果:
{'\ nName':'样品名称','出生日期':'样品出生日','ID':'样品ID'}
我知道你需要在字符串前打印/打印才能使新行正常工作,但我无法在字典中使用它。有没有办法绕过这个?
答案 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