第六天,字典Dictionary

  字典(Dictionary)在Python中是一种可变的容器模型,它是通过一组键(key)值(value)对组成,这种结构类型通常也被称为映射,或者叫关联数组,也有叫哈希表的。每个key-value之间用“:”隔开,每组用“,”分割,整个字典用“{}”括起来,它的定义如下图所示  

  定义字典时,键在前,值在后,键必须唯一性,值可以不唯一,如果键有相同,值则取最后一个;

  值可以是任何的数据类型,但是键必须是不可变的数据类型(数字、字符串、元组);

  定义的时候,字典是{},列表是[],元组是();

Python中集成了许多关于字典的方法,下面我们来列举一下:

clear()#清空字典里的数据;copy()#拷贝(浅拷贝)一个字典里的数据;

fromkeys()#使用给定的键建立字典,对应的值默认为“None”;

get(key, default=None)#访问字典中对应的键里的值,如不存在该键返回default的值;

items()#获取字典键值对数据,以列表形式返回;

keys()#获取字典键的数据,以列表形式返回;values()#获取字典值的数据,以列表形式返回;

setdefault(key, default=None)#和get方法类似,不同之处在于,如不存在该键,则添加该键到字典中并将值设置为default的值,如果存在该键,且键有值,则返回该键的值。

update(dict2)#把字典dict2的数据(键值对)更新到另一个字典中;

pop(key[,default])      删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
popitem()      随机返回并删除字典中的一对键和值。

>>> a={'a':1,'b':2,'c':3}
>>> a
{'a': 1, 'b': 2, 'c': 3}
>>> a['a']=10            #######修改字典a中键为a的值,10
>>> a
{'a': 10, 'b': 2, 'c': 3}

>>> b=a.items()     #######取键值,返回是元组形式
>>> b
dict_items([('a', 1), ('b', 2), ('c', 3)])

>>> a.keys()              ###返回的不是列表也不是字典,是特殊类型。
dict_keys(['a', 'b', 'c'])

>>> b=list(a.keys())      ####把字典a的键以列表的形式赋值给b。
>>> b
['a', 'b', 'c']
>>>

>>> a.values()
dict_values([10, 2, 3])

 print(dic5.pop('age')) #删除字典中指定键值对,并返回该键值对的值
ret=dic5.pop('age')
print(ret)
print(dic5)

a = dic5.popitem() #随机删除某组键值对,并以元组方式返回值
print(a, dic5)

dic6=dict.fromkeys(['host1','host2','host3'],'test')
print(dic6)#
###返回{'host3': 'test', 'host1': 'test', 'host2': 'test'}

遍历

# for i in dic5:
# print(i,dic5[i])
# for i,v in dic5.items():
# print(i,v)


>>> a
{'a': 1, 'b': 2, 'c': 3}
>>> b
{'a': 1, 'b': 2}
>>> b['b']=22
>>> b
{'a': 1, 'b': 22}
>>> a.update(b)             #####update更新,把字典dict2的键/值对更新到dict里
>>> a
{'a': 1, 'b': 22, 'c': 3}
>>>

字符串连接

>>> a='abc'
>>> b='123'
>>> c='@@@'.join([a,b])
>>> c
'abc@@@123'
>>>



猜你喜欢

转载自www.cnblogs.com/zpzhou/p/10985392.html