动态有序的python结构?

时间:2014-05-14 00:35:04

标签: python sorting data-structures indexing

python中是否有一个有序的结构在插入或删除项目时会相互作用?示例:我想将obj放到索引8.因此,索引大于或等于8的每个obj将增加1。

示例:

Before insert: (Value,Index)=[(a,0),(d,1),(s,2),(t,3),(d,4)]  
After insert (g,2): (Value,Index)=[(a,0),(d,1),(g,2),(s,3),(t,4),(d,5)]

谢谢。

2 个答案:

答案 0 :(得分:1)

这里你似乎需要的是一个清单:

>>> l = ['a', 'd', 's', 't', 'd']
>>> l.insert(2, 'g')
>>> l
['a', 'd', 'g', 's', 't', 'd']

元组的第二个元素完全是多余的;他们编码的信息已经由列表元素的位置表示。 enumerate在这里可能很有用:

>>> for index, element in enumerate(l):
...     print index, element
...
0 a
1 d
2 g
3 s
4 t
5 d

答案 1 :(得分:0)

您所要做的就是sorted(sorted, key = lambda i: i[1])