【Python】11、python内置数据结构之字典

一、字典

1、字典的初始化

字典是一种key-value结构

In [160]: d = {}

In [161]: type(d)
Out[161]: dict

In [166]: d = {‘a‘:1, ‘b‘:2}

In [167]: d
Out[167]: {‘a‘: 1, ‘b‘: 2}

In [180]: d = dict({"a":0, "b":1})

In [181]: d
Out[181]: {‘a‘: 0, ‘b‘: 1}

In [164]: d = dict([["a", 1], ["b", 2]])   # 可迭代对象的元素必须是一个二元组

In [165]: d
Out[165]: {‘a‘: 1, ‘b‘: 2}

In [168]: d = dict.fromkeys(range(5))   # 传入的可迭代元素为key,值为None

In [169]: d
Out[169]: {0: None, 1: None, 2: None, 3: None, 4: None}

In [170]: d = dict.fromkeys(range(5), "abc")  # 传入的可迭代元素为key,值为abc

In [171]: d
Out[171]: {0: ‘abc‘, 1: ‘abc‘, 2: ‘abc‘, 3: ‘abc‘, 4: ‘abc‘}


二、字典的基本操作

1、增

In [173]: d = {‘a‘:1, ‘b‘:2}     # 直接使用key做为索引,对某个不存在的索引赋值会增加KV对

In [174]: d["c"] = 1

In [175]: d
Out[175]: {‘a‘: 1, ‘b‘: 2, ‘c‘: 1}

In [175]: d
Out[175]: {‘a‘: 1, ‘b‘: 2, ‘c‘: 1}

In [176]: d["b"] = 1

In [177]: d
Out[177]: {‘a‘: 1, ‘b‘: 1, ‘c‘: 1}

## dict.update()

In [178]: d.update((("d", 4),("e", 5)))

In [179]: d
Out[179]: {‘a‘: 1, ‘b‘: 1, ‘c‘: 1, ‘d‘: 4, ‘e‘: 5}
时间: 2024-11-05 09:52:34

【Python】11、python内置数据结构之字典的相关文章

【Redis源码剖析】 - Redis内置数据结构之字典dict

原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51018337 今天我们来讲讲Redis中的哈希表.哈希表在C++中对应的是map数据结构,但在Redis中称作dict(字典).Redis只是用了几个简单的结构体和几种常见的哈希算法就实现了一个简单的类似高级语言中的map结构.下面我们来具体分析一下dict的实现. 在学习数据结构的时候,我们接触过一种称作"散列表"的结构,可以根据关键字而直接访问记录.说的具体一点就

python学习笔记--内置数据结构2

1.字符串--是不可变的 定义及初始化 In [577]: s = 'hello wolrd' In [578]: s Out[578]: 'hello wolrd' In [579]: s = "hello python" In [580]: s Out[580]: 'hello python' In [581]: s = '''hello''' In [582]: s Out[582]: 'hello' In [583]: s = """hello&q

python学习笔记--内置数据结构

1.列表--是一个序列,用于顺序的存储数据 列表的定义与初始化 In [374]: lst = list() In [375]: lst Out[375]: [] In [376]: lst = [] In [377]: lst = [1,2,3] In [378]: lst Out[378]: [1, 2, 3] In [379]: lst = list(range(1,10)) In [380]: lst Out[380]: [1, 2, 3, 4, 5, 6, 7, 8, 9] 访问列表元

[PY3]——内置数据结构(7)——字典及其常用操作

字典及其常用操作Xmind图 ### 关于字典 ### 字典是一种key-value结构字典是无序的 ### 字典的定义 ### # {}大括号可以直接定义一个空字典 In [1]: d={};type(d) Out[1]: dict # {key:value} In [2]: d={'a':1,'b':2};print(d) {'a': 1, 'b': 2} # dict([(key,value)]) 可迭代对象的元素必须是一个二元组,二元组的第0个元素为key,第1个元素的为value In

【Redis源代码剖析】 - Redis内置数据结构之压缩字典zipmap

原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51111230 今天为大家带来Redis中zipmap数据结构的分析,该结构定义在zipmap.h和zipmap.c文件里.我把zipmap称作"压缩字典"(不知道这样称呼正不对)是因为zipmap利用字符串实现了一个简单的hash_table结构,又通过固定的字节表示节省空间. zipmap和前面介绍的ziplist结构十分相似,我们能够对照地进行学习: Redis中

【Redis源码剖析】 - Redis内置数据结构值压缩字典zipmap

原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51111230 今天为大家带来Redis中zipmap数据结构的分析,该结构定义在zipmap.h和zipmap.c文件中.我把zipmap称作"压缩字典"(不知道这样称呼正不正确)是因为zipmap利用字符串实现了一个简单的hash_table结构,又通过固定的字节表示节省空间.zipmap和前面介绍的ziplist结构十分类似,我们可以对比地进行学习: Redis中

python课程第二周 内置数据结构——列表和元组

5种内置数据结构:列表.元组.字典.集合.字符串.列表.字典.字符串三种被称为线性结构. 针对线性结构的操作有:切片.封包和解包.成员运算符.迭代. 针对数据结构的操作有解析式:解析式分为列表解析.生成器解析.集合解析和字典解析. 后面三种是Python3.x特有的. 基本框架如下: 一.列表:Python中最具灵活性的有序集合对象类型 列表可包含任何种类的对象:数字.字符串.字典.集合甚至其他列表,这个特性称为异构.还具有可变长度和任意嵌套的特性,属于可变长度序列. (1)列表的初始化,有两种

Python内置数据结构——列表list,元组tuple

内置数据结构分类: 数值型 int , float , complex , bool 序列对象 字符串 str 列表 list tuple(元组) 键值对 集合 set 字典 dict 数字型 int ,float , complex , bool都是class, 1,5.0 , 2+3j都是对象的实例 int : python3的int就是长整型,没有大小限制,受限于内存大小 float:有整数部分和小数部分组成,支持十进制和科学计数法表示,只有双精度型 complex:有实数和虚部组成,实部

Python内置数据结构

内置数据结构 可变 list 列表 byterray dict 字典 set 集合 不可变 tuple 元组 bytes 常量(int,str,bool 等) list 列表 (推荐使用索引)列表相当于一个排列整齐的队列,可以理解为在内存中是一片排列整齐的连续的空间,它是可索引,可变的,有序的,线性结构,可迭代.优点:通过索引(index)查找.替换元素 效率高 时间复杂度O(1).尾部追加(append)与 尾部移除(pop)元素快 效率高 时间复杂度O(1).缺点:从中间增加或移除元素会使列