小弟我初学,求问对python的字典进行切片怎么操作?

小弟我初学,求问对python的字典进行切片怎么操作?

在python中对链表和元组进行切片操作时直接在在切片操作符中用索引指定切片的范围就可以了,请问对字典进行切片时如何进行?

QUOTE:
>>> dictionary['a':'cd']
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: unhashable type

求个例子。
恐怕需要自己实现一个继承dict的类
字典是无序的,因此分片也没有意义。可以把keys()取出来分片,然后再继续处理。
有人实现的ordered dictionary

http://www.voidspace.org.uk/python/odict.html


QUOTE:
原帖由 limodou 于 2006-3-14 16:56 发表
字典是无序的,因此分片也没有意义。可以把keys()取出来分片,然后再继续处理。

恩。。。只有无序才能利用hash来提高查询速度。

老大上面的话,我翻译如下:


D = {'a':1,'b':2,'c':3,'d':4}

def ShowOrder(Dic):
    print 'you know your dic order is' , Dic.keys()

def DicSlic(Dic,Start,End):
    List = Dic.keys()
    Nlist = List[Start:End]
    Ndic = {}
    for Keys in Nlist:
        Ndic[Keys] = Dic[Keys]
    return Ndic

ShowOrder(D)
print DicSlic(D,1,4)
不错,就是这个意思。不过建议不要叫我老大,直接叫名字limodou好了。谢谢。