python 数据结构 字典

简介: 字典,名称就叫做dictionary,翻译过来是字典,类似于前面的int/str/list,这种类型数据名称是:dict实验:>>>help(dict)使用dir,也能得到相同的结果。

字典,名称就叫做dictionary,翻译过来是字典,类似于前面的int/str/list,这种类型数据名称是:dict
实验:

>>>help(dict)

使用dir,也能得到相同的结果。

>>> dir(dict)
['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values', 'viewitems', 'viewkeys', 'viewvalues']

values这个内置函数的使用方法

>>> help(dict.values)
Help on method_descriptor:

values(...)
    D.values() -> list of D's values
(END)

q键退回。

概述

python中的dict具有如下特点:
dict是可变的
dict可以存储任意数量的Python对象
dict可以存储任何python数据类型
dict以:key:value,即“键:值”对的形式存储数据,每个键是唯一的。
dict也被称为关联数组或哈希表。
以上诸条,如果还不是很理解,也没有关系,通过下面的学习,特别是通过各种实验,就能理解了。

创建dict

  • 方法1:

创建一个空的dict,这个空dict,可以在以后向里面加东西用。

>>> mydict = {}
>>> mydict
{}

创建有内容的dict。

>>> person = {"name":"hiekay","site":"hiekay.github.io","language":"python"}
>>> person
{'name': 'hiekay', 'language': 'python', 'site': 'hiekay.github.io'}

"name":"hiekay"就是一个键值对,前面的name叫做键(key),后面的hiekay是前面的键所对应的值(value)。在一个dict中,键是唯一的,不能重复;值则是对应于键,值可以重复。键值之间用(:)英文的分号,每一对键值之间用英文的逗号(,)隔开。

>>> person['name2']="hiekay"    #这是一种向dict中增加键值对的方法
>>> person
{'name2': 'hiekay', 'name': 'hiekay', 'language': 'python', 'site': 'hiekay.github.io'}

如下,演示了从一个空的dict开始增加内容的过程:

>>> mydict = {}
>>> mydict
{}
>>> mydict["site"] = "hiekay.github.io"
>>> mydict[1] = 80
>>> mydict[2] = "python"
>>> mydict["name"] = ["zhangsan","lisi","wangwu"]
>>> mydict
{1: 80, 2: 'python', 'site': 'hiekay.github.io', 'name': ['zhangsan', 'lisi', 'wangwu']}

>>> mydict[1] = 90  #如果这样,则是修改这个键的值
>>> mydict
{1: 90, 2: 'python', 'site': 'hiekay.github.io', 'name': ['zhangsan', 'lisi', 'wangwu']}
  • 方法2: 元组
>>> name = (["first","Google"],["second","Yahoo"])      #这是另外一种数据类型,称之为元组,后面会讲到
>>> website = dict(name)
>>> website
{'second': 'Yahoo', 'first': 'Google'}
  • 方法3: Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
>>> website = {}.fromkeys(("third","forth"),"facebook")
>>> website
{'forth': 'facebook', 'third': 'facebook'}

需要提醒的是,这种方法是从新建立一个dict。

访问dict的值

因为dict是以键值对的形式存储数据的,所以,只要知道键,就能得到值。这本质上就是一种映射关系。

>>> person
{'name2': 'hiekay', 'name': 'hiekay', 'language': 'python', 'site': 'hiekay.github.io'}
>>> person['name']
'hiekay'
>>> person['language']
'python'
>>> site = person['site']
>>> print site
hiekay.github.io

遍历:

可以用for语句

>>> person
{'name2': 'hiekay', 'name': 'hiekay', 'language': 'python', 'site': 'hiekay.github.io'}
>>> for key in person:
...     print person[key]
...
hiekay
hiekay
python
hiekay.github.io
目录
相关文章
|
2月前
|
算法 开发者 计算机视觉
燃爆全场!Python并查集:数据结构界的网红,让你的代码炫酷无比!
在编程的世界里,总有一些数据结构以其独特的魅力和高效的性能脱颖而出,成为众多开发者追捧的“网红”。今天,我们要介绍的这位明星,就是Python中的并查集(Union-Find)——它不仅在解决特定问题上大放异彩,更以其优雅的设计和强大的功能,让你的代码炫酷无比,燃爆全场!
38 0
|
2月前
|
Python
Python 中常见的数据结构(二)
Python 中常见的数据结构(二)
|
2月前
|
存储 索引 Python
Python 中常见的数据结构(一)
Python 中常见的数据结构(一)
|
2月前
|
开发者 Python
Python 常用的数据结构
Python 常用的数据结构
|
3月前
|
存储 JSON 索引
一文让你彻底搞懂 Python 字典是怎么实现的
一文让你彻底搞懂 Python 字典是怎么实现的
56 13
|
2月前
|
存储 索引 Python
python数据结构之列表详解
列表是Python中极为灵活和强大的数据结构,适合于存储和操作有序数据集合。掌握其基本操作和高级特性对于编写高效、清晰的Python代码至关重要。通过本回答,希望能帮助你全面理解Python列表的使用方法,从而在实际编程中更加游刃有余。
26 0
|
2月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
33 0
|
2月前
|
存储 Python
Python 中常见的数据结构(三)
Python 中常见的数据结构(三)
|
2月前
|
存储 自然语言处理 数据库
Python字典操作实现文章敏感词检索
Python字典操作实现文章敏感词检索
|
2月前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景