How to get the first value in a python dictionary
我有一本这样的字典:
1 2 3 4 5 | myDict = { 'BigMeadow2_U4': (1609.32, 22076.38, 3.98), 'MooseRun': (57813.48, 750187.72, 231.25), 'Hwy14_2': (991.31, 21536.80, 6.47) } |
如何在我的字典中获取每个项目的第一个值?
最后我想要一份清单:
1 | myList = [1609.32,57813.48,991.31] |
尝试这种方式:
1 | my_list = [elem[0] for elem in your_dict.values()] |
副业:我觉得你不应该用camelcase,这不是python的方式
UPD:检查员注意到,结果不会一样。这是对的。您应该使用collections.ordereddict来正确地实现这一点。
1 2 | from collections import OrderedDict my_dict = OrderedDict({'BigMeadow2_U4': (1609.32, 22076.38, 3.98), 'MooseRun': (57813.48, 750187.72, 231.25), 'Hwy14_2': (991.31, 21536.80, 6.47) }) |
如果要订购字典,请使用:
1 2 3 4 5 6 7 | from collections import OrderedDict ordered = OrderedDict( ('BigMeadow2_U4', (1609.32, 22076.38, 3.98)), ('MooseRun', (57813.48, 750187.72, 231.25)), ('Hwy14_2', (991.31, 21536.80, 6.47)) ) first_values = [v[0] for v in ordered.values()] |
输出顺序与输入顺序完全相同。
1 2 3 | myList = [] for k,v in myDict.items() myList.append(v[0]) |
一行…
1 | myList = [myDict [i][0] for i in sorted(myDict.keys()) ] |
结果:
1 2 | >>> print myList [1609.32, 991.31, 57813.48] |
尝试此操作。在函数中键入字典和要打印的位置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | d = {'Apple': 1, 'Banana': 9, 'Carrot': 6, 'Baboon': 3, 'Duck': 8, 'Baby': 2} print(d) def getDictKeyandValue(dict,n): c=0 mylist=[] for i,j in d.items(): c+=1 if c==n: mylist=[i,j] break return mylist print(getDictKeyandValue(d,2)) |
获取第一个值
打印(GetDictKeyAndValue(d,1))