您的位置:首页 > 编程语言 > Python开发

python基础学习--字典

2017-08-09 10:27 190 查看
字典是另一种可变容器模型,且可存储任意类型对象。


字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:d = {key1 : value1, key2 : value2 }

In [1]:#不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住

dict = {'Name':'Zara','Age':7,'Name':'Mani'}

In [2]:dict['Name']

Out[2]:'Mani'

In [3]:#键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行

dict = {['Name']:'Zara','Age':7}

---------------------------------------------------------------------------

TypeError Traceback (most recent call last)

<ipython-input-3-d4053bdbae55> in <module>()

1 #键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行

----> 2 dict = {['Name']:'Zara','Age':7}

TypeError: unhashable type: 'list'



In [4]:str(dict)

Out[4]:"{'Age': 7, 'Name': 'Mani'}"

In [5]:type(dict)

Out[5]:dict

In [6]:dict1 = dict.copy()

In [7]:dict1

Out[7]:{'Age': 7, 'Name': 'Mani'}

In [8]:seq = ('name','age','sex')

In [9]:dict2 = dict.fromkeys(seq)

In [10]:dict2

Out[10]:{'age': None, 'name': None, 'sex': None}

In [11]:dict2 = dict2.fromkeys(seq,['LiLei',21,'Man'])

In [12]:dict2

Out[12]:{'age': ['LiLei', 21, 'Man'],

'name': ['LiLei', 21, 'Man'],

'sex': ['LiLei', 21, 'Man']}

In [13]:dict1.get('Age')

Out[13]:7

In [14]:#has_key() 函数用于判断键是否存在于字典中

dict1.has_key('sex')

Out[14]:False

In [15]:#items() 函数以列表返回可遍历的(键, 值) 元组数组

dict1.items()

Out[15]:[('Age', 7), ('Name', 'Mani')]

In [16]:for key,value in dict1.items():

print key,value

Age 7

Name Mani

In [17]:#keys() 函数以列表返回一个字典所有的键

dict1.keys()

Out[17]:['Age', 'Name']

In [19]:#values() 函数以列表返回一个字典所有的值

dict1.values()

Out[19]:[7, 'Mani']

In [20]:# setdefault() 函数和get() 方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值

dict1.setdefault('sex','man')

Out[20]:'man'

In [21]:dict1

Out[21]:{'Age': 7, 'Name': 'Mani', 'sex': 'man'}

In [22]:dict2 = {'Scode':90}

In [23]:dict2

Out[23]:{'Scode': 90}

In [24]:#dict.update(dict2) 函数把字典dict2的键/值对更新到dict里

dict1.update(dict2)

In [25]:dict1

Out[25]:{'Age': 7, 'Name': 'Mani', 'Scode': 90, 'sex': 'man'}

In [26]:#字典值可以是任意数值类型

dict3 = {"a":[1,2]}

In [27]:dict3

Out[27]:{'a': [1, 2]}

In [29]:dict3["a"][1]

Out[29]:2

In [30]:dict4 = {"a":{"c":"d"}}

In [31]:dict4['a']['c']

Out[31]:'d'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: