Python 如何在不循环的情况下打印项目名称?

Python 如何在不循环的情况下打印项目名称?,python,python-3.x,dictionary,key-value,Python,Python 3.x,Dictionary,Key Value,代码如下: 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 = l

代码如下:

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))

如果这正是您想要的,您可以将其简化一点:

for i in itemsDict:
    print i, itemsDict[i]
这将打印key:value对

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

希望有帮助:

或一行:

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))))

为什么不想循环?如果直接打印ItemDict,就可以摆脱明显的循环,但程序不会更快,因为dict的str实现中仍然存在底层循环。在一行中,打印一个列表是在操作中的,循环的需要是内在的。嗯,看起来多可怕啊!:@哈哈。这看起来确实很可怕,但这是我唯一能想到的一句台词。我不喜欢回答这类问题,因为它们不符合我的意思sense@eyllanesc这是一个奇怪的问题,但仍然可以回答,并且可以理解,在生产中的哪个项目中,您将使用这种类型的代码?,对我来说,这更接近于鼓励不良行为