python 字典

字典

*一系列"键—值(key—value)"对
*通过键查找相对应的值
*类似于纸质字典,通过单词索引表找到相对应的定义
    C++:map | Java:HashTable orHashMap
*在字典中,键值对是无序的

1.创建字典

*使用{}创建字典
*使用:指明 键:值 对
*键必须是不可变的且不重复的,值可以是任意类型
In [1]: my_dict={'dch':130,'yuguo':154,'Mike':187}

In [2]: type(my_dict)
Out[2]: dict

2.访问字典

*使用[]运算符,键作为索引
In [3]: print my_dict['dch']
130

In [4]: print my_dict['Tom']
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-4-3255783270ac> in <module>()
----> 1 print my_dict['Tom']

KeyError: 'Tom'
注:不能索引不存在的键

*增加一个新的对
In [5]: my_dict['Tom']=178

In [6]: my_dict['Tom']
Out[6]: 178

3.字典的运算符和方法

*len(my_dict)     #统计字典中键值对的数量

In [7]: my_dict
Out[7]: {'Mike': 187, 'Tom': 178, 'dch': 130, 'yuguo': 154}

In [8]: len(my_dict)
Out[8]: 4


*key in my_dict  #快速判断key是否为字典中的键
——>等家于 my_dict.has_key(key)

In [9]: 'Mike' in my_dict
Out[9]: True

In [10]: 'nihao' in my_dict
Out[10]: False


*for key in my_dict:  #梅举字典中的键,注:键是无序的

In [11]: for key in my_dict:
   ....:     print key
   ....:     
Mike
yuguo
dch
Tom

In [12]: 


*my_dict.items() #返回全部的键值对,以列表的方式

In [12]: my_dict.items()
Out[12]: [('Mike', 187), ('yuguo', 154), ('dch', 130), ('Tom', 178)]

*my_dict.keys() #返回全部的键,以列表的方式

In [14]: my_dict.keys()
Out[14]: ['Mike', 'yuguo', 'dch', 'Tom']

*my_dict.values()   #返回全部的值

In [15]: my_dict.values()
Out[15]: [187, 154, 130, 178]

*my_dict.clear  #清空字典

In [16]: my_dict.clear()

In [17]: my_dict
Out[17]: {}

集合

*建立

x=set()
x={key1,key2,...}
In [1]: x=set()

In [2]: type(x)
Out[2]: set

In [3]: x.
x.add                          x.issubset
x.clear                        x.issuperset
x.copy                         x.pop
x.difference                   x.remove
x.difference_update            x.symmetric_difference
x.discard                      x.symmetric_difference_update
x.intersection                 x.union
x.intersection_update          x.update
x.isdisjoint                   

In [3]: x.add('dch')

In [4]: x
Out[4]: {'dch'}

*添加与删除

x.add('Bob')    #添加
x.remove('Bob') #删除
n [3]: x.add('dch')

In [4]: x
Out[4]: {'dch'}

In [5]: x.remove('dch')

In [6]: x
Out[6]: set()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值