以下是我的代码:
inv = {'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1}
x=max(inv, key=lambda x: len(x.split()))
y=len(x)
#print(y)
n = "-"
q = n * (y+5)
#print(q)
#print("")
def print_table(inventory, order=None):
if order=="count,asc":
for key, value in sorted(inventory.iteritems(), key=lambda (k, v): (v, k)):
print "%s %s" % (value, key)
print_table(inv,"count,asc")
我想要这样的东西:
Inventory:
count item name
----------------
45 gold coin
12 arrow
6 torch
2 dagger
1 rope
1 ruby
----------------
Total number of items: 67
order 参数必须是一个字符串,其作用如下: 空(默认)表示该表是无序的
"count,desc"
表按数量(库存中的项目)以降序和"cound,asc"
升序排序
我编写了在每个内部列表中查找最长字符串的函数,以了解列的宽度以适合所有字符串,但现在我被困在这一点上,我现在该怎么办?