python的内建数据结构_python内建数据结构之dict

Python dictionaries are also known as associative arrays or hash tables. The general syntax of a dictionary is as follows:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

An empty dictionary without any items is written with just two curly braces, like this: {}.

Keys are unique within a dictionary while values may not be. The values of a dictionary can be of any type, but the keys must be of an immutable data type such as strings, numbers, or tuples.

Accessing Values in Dictionary:

To access dictionary elements, you can use the familiar square brackets along with the key to obtain its value. Following is a simple example:

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

print "dict['Name']: ", dict['Name']

print "dict['Age']: ", dict['Age']

When the above code is executed, it produces the following result:

dict['Name']: Zara

dict['Age']: 7

If we attempt to access a data item with a key,which is not part of the dictionary, we get an error as follows:

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

print "dict['Alice']: ", dict['Alice']

When the above code is executed, it produces the following result:

dict['Zara']:Traceback (most recent call last): File "test.py", line 4, in print "dict['Alice']: ", dict['Alice'];KeyError: 'Alice'

Updating Dictionary:

You can update a dictionary by adding a new entry or ,modifying an existing entry, or deleting an existing entry as shown below in the simple example:

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

dict['Age'] = 8; # update existing entry

dict['School'] = "DPS School"; # Add new entry

print "dict['Age']: ", dict['Age']

print "dict['School']: ", dict['School'];

You can either remove individual dictionary elements or clear the entire contents of a dictionary. You can also delete entire dictionary in a single operation.

To explicitly remove an entire dictionary, just use the del statement. Following is a simple example:

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

del dict['Name'] # remove entry with key 'Name'

dict.clear() # remove all entries in dict

del dict # delete entire dictionary

print "dict['Age']: ", dict['Age']

print "dict['School']: ", dict['School']

This will produce the following result. Note an exception raised, this is because after del dict dictionary does not exist any more:

Properties of Dictionary Keys:

Dictionary values have no restrictions. They can be any arbitrary Python object, either standard objects or user-defined objects. However, same is not true for the keys.

There are two important points to remember about dictionary keys:

More than one entry per key not allowed. Which means no duplicate key is allowed. When duplicate keys encountered during assignment, the last assignment wins. Following is a simple example:

#!/usr/bin/python

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

print "dict['Name']: ", dict['Name']

When the above code is executed, it produces the following result:

dict[‘Name’]: Manni

Keys must be immutable. Which means you can use strings, numbers or tuples as dictionary keys but something like [‘key’] is not allowed. Following is a simple example:

#!/usr/bin/python

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

print "dict['Name']: ", dict['Name']

Built-in Dictionary Functions & Methods:

cmp(dict1, dict2) #Compares elements of both dict.

len(dict) #Gives the total length of the dictionary. This would be equal to the number of items in the dictionary.

str(dict) #Produces a printable string representation of a dictionary

Python includes following dictionary methods

dict.clear() #Removes all elements of dictionary *dict*

dict.copy() #Returns a shallow copy of dictionary *dict*

dict.fromkeys() #Create a new dictionary with keys from seq and values *set* to *value*.

dict.get(key, default=None)] #For *key* key, returns value or default if key not in dictionary

dict.has_key(key) Returns *true* if key in dictionary *dict*, *false* otherwise

dict.items() #Returns a list of *dict*'s (key, value) tuple pairs

dict.keys() #Returns list of dictionary dict's keys

dict.setdefault(key, default=None) #Similar to get(), but will set dict[key]=default if *key* is not already in dict

dict.update(dict2) #Adds dictionary *dict2*'s key-values pairs to *dict*

dict.values() #Returns list of dictionary *dict*'s values

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值