=Start=
缘由:
最近在工作中有接触到用Python的xmltodict模块进行XML的解析,用该模块进行XML解析的时候,返回的是一个OrderDict,即——有序字典,虽然在程序中没有取OrderDict的首尾元素的方法,但出于好奇和学习的心态,学习了一下,记录在此,方便参考。
参考解答:
Python中如何获取 list 的 第一个/最后一个 元素
some_list[0] #列表的 第一个 元素 some_list[-1] #列表的 最后一个 元素
Python中如何获取 OrderDict 的 第一个/最后一个 元素
默认情况下,Python中的dict是无序的,如果需要获取 第一个/最后一个 元素,得使用 collections.OrderedDict 才行:
from collections import OrderedDict od = OrderedDict(zip('bar','foo')) print od # OrderedDict([('b', 'f'), ('a', 'o'), ('r', 'o')]) #方法一 od.keys()[-1] # 仅适用于 Python 2.x od.values()[-1] od.items()[-1] list(od.items())[-1] # 兼容 Python 3.x #方法二 od.popitem() # also removes the last item(修改了OrderDict本身的内容) #方法三(最佳方法) next(reversed(od)) # get the last key next(reversed(od.items())) # get the last item next(iter(od)) # get the first key next(iter(od.items())) # get the first item
参考链接:
- http://stackoverflow.com/questions/16125229/last-key-in-python-dictionary
- http://stackoverflow.com/questions/19030179/how-to-access-the-first-and-the-last-elements-in-a-dictionary-python
- http://stackoverflow.com/questions/30250715/how-do-you-get-the-first-3-elements-in-python-ordereddict
- http://stackoverflow.com/questions/21062781/shortest-way-to-get-first-item-of-ordereddict-in-python-3 #nice
- http://stackoverflow.com/questions/9917178/last-element-in-ordereddict #性能测试
- http://stackoverflow.com/questions/3097866/python-access-to-first-element-in-dictionary #方法不错
- http://stackoverflow.com/questions/10058140/accessing-items-in-a-ordereddict #有详细说明
- http://stackoverflow.com/questions/10503666/get-the-first-100-elements-of-ordereddict
=EOF=
《“Python中如何获取 list/OrderedDict 的 第一个/最后一个 元素”》 有 1 条评论
Python中list的元素都是固定顺序的么?
python list item is ordered?
https://stackoverflow.com/questions/13694034/is-a-python-list-guaranteed-to-have-its-elements-stay-in-the-order-they-are-inse
`
Yes, the order of elements in a python list is persistent.
根据插入顺序决定元素的实际位置。
`