python内建数据结构之dict
admin
2023-07-30 20:42:32
0

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

上一篇:Python。。。。。

下一篇:python字符串

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
python绘图库Matplo... 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是pyt...
Prometheus+Graf... 一,Prometheus概述 1,什么是Prometheus?Prometheus是最初在Sound...