我如何打印项目名称而不循环?

时间:2018-08-20 02:55:21

标签: python python-3.x dictionary key-value

enter image description here

这是代码:

itemDict = {"Laptop" : 3499.0, "Keyboard" : 10.5, "Harddisk" : 159.3, "Mouse" : 8.9}

print("Item Listing")

print("---------------------")

def displayItem(itemDict):
    i = list(itemDict.values())

    return i
def names(itemDict):
    j = list(itemDict.keys())

    return j
for names in names(itemDict):
    for values in displayItem(itemDict):
        print(names + " - $" + str(values))

2 个答案:

答案 0 :(得分:1)

或单线:

d = {"Laptop" : 3499.0, "Keyboard" : 10.5, "Harddisk" : 159.3, "Mouse" : 8.9}
print('\n'.join(' - $'.join(map(str,i)) for i in zip(sorted(list(d.keys())*len(d),key=list(d.keys()).index),sorted(list(d.values())*len(d),key=list(d.values()).index))))

答案 1 :(得分:0)

如果您要查找的是,可以将其简化一点:

for i in itemsDict:
    print i, itemsDict[i]

将打印键:值对

对于动态变化的Dict,我认为除了迭代它外,没有其他方法可以打印所有值。

希望有帮助:)