[英]Processing input in a function in Python 3.3
我對格式化輸出有疑問。 可能很簡單,但是我已經從事了大約10個小時的工作,所以我不知道為什么它行不通
elif command.startswith("TOP") and len(command) > 3:
digi_trans = str.maketrans('', '', string.digits)
char_trans = str.maketrans('', '', string.ascii_letters)
bracket_trans = str.maketrans('', '', "[']")
subset = command.translate(digi_trans)[3:]
if subset == "EDITORS":
top_names = []
count = 0
count_limit = int(command.translate(char_trans))
top_names = sorted(name_temp.items(), key=lambda x:x[1], reverse=True)
largest = heapq.nlargest(count_limit, top_names, key=operator.itemgetter(1, 1))
print(largest)
這是我的代碼中困擾我的部分。 top_names列表只是兩個項目對(一個名稱和一個值)的排序列表。
當前輸出(假設我想要命令中的前2個值):
[('Tzartzam', [16]), ('Quercusrobur', [14])]
我希望它輸出如下內容:
--------------------
Tzartzam [16]
Quercusrobur [14]
--------------------
有趣的是,我的程序中已經有一部分功能幾乎完全相同,但是我只是無法理解自己在做些什么,所以如果有人能指出正確的方向,我將不勝感激。 :(
您可以使用調整和調整:
top_names=[('Tzartzam', [16]), ('Quercusrobur', [14])]
print "--------------------"
for n in top_names:
print n[0].ljust(16),str(n[1][0]).rjust(3)
print "--------------------"
輸出:
--------------------
Tzartzam 16
Quercusrobur 14
--------------------
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.