2015-08-24 50 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"])