zoukankan      html  css  js  c++  java
  • Pyhon学习_04_字典、集合

    字典、集合两种基本类型都是通过映射的方式访问。

    字典

    python中的字典和perl中的哈希是很相似的,包括其重要的几条属性:

    1. 键值必须是唯一的

    2. 键值必须是可哈希的,也就是键值不能够是可变类型,比如列表、字典等

    3. 键是无序的,根据sorted()方法可以对其进行排序

    字典的创建:

    可以通过以下几种方式:

    dict1 = {’name’:’Lyon’,’age’:23,’gender’:’male'}

    dict2 = dict(([’name’:’Lyon’,’age’:23,’gender’:’male’]))

    dict3 = {}.fromkeys((’name’,’age’,’gender’),default=None)

    第三种方式可以设置一个初始值,使所有的键的值都是该值,如果不设置则为None。

    字典的访问:

    通过dict1[key]的方式访问特定键的值,也可以通过内建的方法 keys(),values(),items()来分别访问字典中的所有键、所有值、所有键值对,并通过迭代的方式逐一访问每个元素:

    for key in dict1.keys():
        print key=%s, value=%s % (key,dict1[key]) 

    在Python2.2之后,序列对象(如字典和文件)都可以通过迭代器来访问,而不需要再执行keys()方法:

    for key in dict1:
        print ‘key=%s, value=%s’ % (key,dict1[key])

    通过in 和 not in操作符,可以判断字典中是否有某个键

    字典的维护

    可以对一个已存在或者未存在的键更改其值,如果该键已存在,则会修改原键对应值,若不存在,则添加新的键值对;

    通过del 操作符,可以删除某一个条目,或者整个字典;也可以通过{}.clear()方法删除所有条目,{}.pop()方法删除并返回某一个条目;

    集合

    Python引入集合作为基本数据类型,集合分为set()、frozenset()两种,分别为可变和不可变类型,只能通过这两个工厂函数来创建集合。可以通过包含所有元素的列表来创建一个集合,也可以通过字符串创建,此时集合的元素将是每个字符,当然,每个元素都是唯一的,在创建过程中会去掉冗余元素:

    set1 = set(['A','BB','A'])
    print set1
    set2 = set('aaabbbccc')
    print set2

    结果为:

    set(['A', 'BB'])
    set(['a', 'c', 'b'])

    通过in、not in操作符可以判断集合中是否有该成员,同时也可以通过 for i in set1的方式遍历集合。

    add()方法可以添加一个元素到集合中

    update()方法则将另一个集合合并到集合中,相当于 |= 的操作,

    del()方法可以删除某个元素或者整个集合

    其他的操作符见下图:

    NewImage

  • 相关阅读:
    luogu P1064|| 01背包||金明的预算
    NOIp蒟蒻的爆零记——HA-0132
    模板输入计划
    1112测试教你做人
    NOIP注意事项
    强连通分量的一二三 | | JZOJ【P1232】 | | 我也不知道我写的什么
    图的割点 | | jzoj【P1230】 | | gdoi | |备用交换机
    【游戏作品】Sunset Game 制作组出品游戏一览
    【说明】我们计划从博客园迁移到知乎啦
    【总结】操作系统的重点
  • 原文地址:https://www.cnblogs.com/lyon2014/p/4490910.html
Copyright © 2011-2022 走看看