美文网首页
数据结构/字典

数据结构/字典

作者: Gorden_x | 来源:发表于2017-10-21 22:23 被阅读0次

    1.dictionary字典,是除列表外python最灵活的内置数据结构类型,列表是有序的对象集合,字典是无序的对象集合。字典当中的元素是通过键来存取的,而不是通过偏移存取。
    字典用“{}”标识,字典由索引(key),和它对应的值value组成

    字典是一种通过名字或者关键字引用的数据结构,其键可以是数字、字符串、元组,这种结构类型也称之为映射。字典类型是Python中唯一內 建的映射类型,基本的操作包括如下:
    (1)len():返回字典中键—值对的数量;
    (2)d[k]:返回关键字对于的值;
    (3)d[k]=v:将值关联到键值k上;
    (4)del d[k]:删除键值为k的项;
    (5)key in d:键值key是否在d中,是返回True,否则返回False。

    2.创建字典
    字典由多个键及其对应值构成的键-值对组成,键与值之间用:隔开。
    (1) dict1 = {} #创建一个空字典
    dict2={'x':5, 'd':4, 's':'dd'} #创建字典 #注意,字典的键是唯一的,但值并不唯一
    print dict2
    运行输出:{'x':5, 'd':4, 's':'dd'}

    (2) dict函数(类型)
    items = [('name', 'Gumby'), ('age', 42)]
    dict3 =dict(items)
    print dict3
    运行输出:{'age': 42, 'name': 'Gumby'} # 转化为字典形式

    (3)也可以通过关键字创建字典:
    dict4 = dict(name = 'Gumby', age = 42)
    print dict4
    运行输出:{'age': 42, 'name': 'Gumby'}

    3.d['y'] 返回字典中‘y’对应的值 type(y) 求字典的类型
    len(c) 返回字典c中键值对的数量 print 'x' in d # true/False ,检查'x'是否在字中, . 查找的是键而不是值
    dict3 = {'x':4, 'adc':'wewe', 'a':'as'}
    print dict3
    print dict3['x']
    print type(dict3)
    print len(dict3)
    print '5' in dict3
    dict3['adc'] = 4 #将4赋值给adc
    print dict3
    del dict3['a'] #删除键值为a的项
    print dict3
    运行输出:
    {'a': 'as', 'x': 4, 'adc': 'wewe'}
    4
    <type 'dict'>
    3
    False
    {'a': 'as', 'x': 4, 'adc': 4}
    {'x': 4, 'adc': 4}

    4.字典的方法
    (1) clear清除字典的项
    d = {'x': 5, 'y': 6, 'z': 1, 'r': 12,'7' :4}
    d.clear()
    print d
    运行后输出:
    {}

    (2)formkeys 使用给定的键建立新的字典,每个键对应的默认值为None
    c = {}
    a = c.fromkeys(['s','b'])
    print c # 仍是空字典
    print a # 新的字典a
    运行输出;
    {}
    {'s': None, 'b': None}

    (3)has_key 检查字典中是否含有特定的键,d.has_key(k)相当于k in d
    d = {'x': 5, 'y': 6, 'z': 1, 'r': 12,'7' :4}
    print d.has_key('x')
    print d.has_key('4')
    运行输出:
    True
    False

    (4)get方法:get是个更宽松的访问字典项的方法
    d = {'x': 5, 'y': 6, 'z': 1, 'r': 12,'7' :4}
    print d.get('x')
    运行输出:5

    (5)copy方法:返回一个具有相同键—值对的新字典,这个方法的是浅复制
    d = {'x': 5, 'y': 6, 'z': 1, 'r': 12,'7' :4}
    s = d.copy()
    print s
    运行输出:{'y': 6, 'x': 5, 'r': 12, 'z': 1, '7': 4}

    (6)items方法将所有的字典项一列表方式返回,这些列表项中的每一项都来自于(键,值),但是项在返回时并没有特殊的顺序
    d = {'x': 5, 'y': 6, 'z': 1, 'r': 12,'7' :4}
    c = d.items()
    print c
    运行输出:[('y', 6), ('x', 5), ('r', 12), ('z', 1), ('7', 4)]
    Iteritems方法的作用大致相同,但是会返回一个迭代器对象而不是列表

    (7)更多方法:http://blog.csdn.net/anhuixinhua66/article/details/49450537

    相关文章

      网友评论

          本文标题:数据结构/字典

          本文链接:https://www.haomeiwen.com/subject/pljwuxtx.html