慕的地8271018
>>> d = {'1': 'one', '3': 'three', '2': 'two', '5': 'five', '4': 'four'}>>> 'one' in d.values()True出于好奇,一些比较时机:>>> T(lambda : 'one' in d.itervalues()).repeat()[0.28107285499572754, 0.29107213020324707, 0.27941107749938965]>>> T(lambda : 'one' in d.values()).repeat()[0.38303399085998535, 0.37257885932922363, 0.37096405029296875]>>> T(lambda : 'one' in d.viewvalues()).repeat()[0.32004380226135254, 0.31716084480285645, 0.3171098232269287]编辑:并且,如果您想知道为什么...原因是上述每个返回的对象类型不同,它可能适合也可能不适合查找操作:>>> type(d.viewvalues())>>> type(d.values())>>> type(d.itervalues())EDIT2:根据注释中的请求...>>> T(lambda : 'four' in d.itervalues()).repeat()[0.41178202629089355, 0.3959040641784668, 0.3970959186553955]>>> T(lambda : 'four' in d.values()).repeat()[0.4631338119506836, 0.43541407585144043, 0.4359898567199707]>>> T(lambda : 'four' in d.viewvalues()).repeat()[0.43414998054504395, 0.4213531017303467, 0.41684913635253906]