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这是一个奇怪的问题,但仍然可以回答,并且可以理解,在生产中的哪个项目中,您将使用这种类型的代码?,对我来说,这更接近于鼓励不良行为