2015-08-24 49 views
0

这里是一个小的基本功能来创建一个字典:Python字典格式查询

def Professor(name,salary,course): 
    ProfDict = {"Name":name,"Salary":salary,"Course":course} 
    return (ProfDict) 

我想回到字典在一个不错的格式,如:

名称:弗雷德·史密斯;部门:历史;薪水:30000英镑

我找不到太多字典格式, 谢谢。

回答

1

字典没有格式化,因为它只是一个数据结构。你想要的是使用存储在字典中的数据构造一个字符串。

def Professor(name,salary,course): 
    ProfDict = {"Name":name,"Salary":salary,"Course":course} 
    return "Name: {0[Name]}; Salary: {0[Salary]}; Course: {0[Course]}".format(ProfDict) 
+0

由于这是做的一个很好的方式,我会记得 – jsb95

+0

我实际上是用Python 2.7来测试它,并且在占位符中没有0,并且得到了错误: 'IndexError:tuple index out of rang e' 在占位符中使用0时,它的工作原理是2.7 – MauricioRoman

+0

我删除了最后一部分。我的大部分工作仍在Python 2.6中,所以我忘记了如何完全省略字段名称。 – chepner

-1

首先,不要将括号中的字典返回。打印出来,做像这样:

ProfDict = Professor("Dr. Bob", 100000, "Intro to Medical Coding") 
for key, value in ProfDict.items(): 
    print key, ':', 'value, ";", 

可以或课程使用的任何其他字符串格式化做不过你想要它看起来。

2

把字典为** kwargs字符串的format功能:

def Professor(name, salary, course): 
    prof_dict = {"Name": name,"Salary": salary,"Course": course} 
    return prof_dict 

some_prof = Professor(...) 
nice_string = "Name: {Name}; Department: {Course}; Salary: {Salary}".format(
    **some_prof) 
0

这是你想要的:

def Professor(name,salary,course): 
ProfDict = {"Name":name,"Salary":salary,"Course":course} 
return (ProfDict) 

temp = Professor("Fred Smith",30000,"History") 
print "Name:",temp["Name"] + "; Department:",temp["Course"] + "; Salary: " + str(temp["Salary"])