Python字典使用(八)

简介:

字典描述:

字典是另一种可变容器模型,且可以存储任意类型对象。

字典的每个键值(key=>value)对用冒号分隔,每对之间用逗号分割,整个字典包括花括号在内,如下所示:

d={key1:value1,key2:value2}

键必须是唯一的,但值不必。

值可以取任何数据类型,但是键是必须不可变的,如字符串、元组或数字。

如:

d = {'Alex':'aaa','Wang':'bbb'}
d1={'Alex':111,'Wang':222}

 

访问字典的值:

d = {'Alex':'aaa','Wang':'bbb'}
#d1={'Alex':111,'Wang':222}

print(d.keys())  #读取字典所有键
print(d.values()) #读取字典所有值
print('d["Alex"]: ',d['Alex'])  #读取某一个键的值,
# (习惯:引号使用,当需要使用叠加的引号时,注意不要都使用同一种引号。比如全部单引号或者全部双引号,那样会报错。) 比如:print('d[Alex]: ',d['Alex'])
print("d['Alex1']: ",d['Alex1']) #读取不到键会报错,信息如下KeyError: 'Alex1'

运行结果:

    print("d['Alex1']: ",d['Alex1'])

KeyError: 'Alex1'

dict_keys(['Alex', 'Wang'])

dict_values(['aaa', 'bbb'])

d['Alex']:  aaa

 

增加&查找&删除&修改:

d = {
    '1':'aaa',
     '2':'bbb',
    '3':'ccc',
    "4":'ddd',
}
#d1={'Alex':111,'Wang':222}
d['5']='fff' #当查询不存在这个键时,就会添加。
print(d)
d['1']='111' #当查询存在这个键时,如果值不对就会修改该值。
print(d)

d2=d.get('5') #用get方法,找到不存在只会返回None,不会报错
print(d2)

#del d['1']#python内置的通用删除方法
#d.pop('2')#字典里的pop必须指定删除对象
d.popitem()
print(d)

d.clear() #清空字典

print(d)


运行结果:

{'1': 'aaa', '2': 'bbb', '3': 'ccc', '4': 'ddd', '5': 'fff'}

{'1': '111', '2': 'bbb', '3': 'ccc', '4': 'ddd', '5': 'fff'}

{'1': '111', '2': 'bbb', '3': 'ccc', '4': 'ddd'}

{}



注:

  1. 当查询的键不存在时,会默认添加。

  2. get()查询某个键查询不到时,只会返回None,不会报错。

     

    多级字典的嵌套及操作:

info ={
    'NJ':{
        '建邺区':['A','B','C'],
        '江宁区':['AA','BB','CC'],
    },
    'SZ':{
        '福田区':['1','2','3'],
        '高新区':['11','22','33'],
    }
}
print(info)
info['NJ']['建邺区'][2]=55   #可以修改键里面的值
print(info)
info.setdefault('JD',{'SSS':[1,2]}) #查不到的可以添加 key-value
print(info)
info.setdefault('SZ',{'SSS':[1,2]}) #无法修改 键对应的值
print(info)

运行结果:

{'NJ': {'建邺区': ['A', 'B', 'C'], '江宁区': ['AA', 'BB', 'CC']}, 'SZ': {'福田区': ['1', '2', '3'], '高新区': ['11', '22', '33']}}

{'NJ': {'建邺区': ['A', 'B', 55], '江宁区': ['AA', 'BB', 'CC']}, 'SZ': {'福田区': ['1', '2', '3'], '高新区': ['11', '22', '33']}}

{'NJ': {'建邺区': ['A', 'B', 55], '江宁区': ['AA', 'BB', 'CC']}, 'SZ': {'福田区': ['1', '2', '3'], '高新区': ['11', '22', '33']}, 'JD': {'SSS': [1, 2]}}

{'NJ': {'建邺区': ['A', 'B', 55], '江宁区': ['AA', 'BB', 'CC']}, 'SZ': {'福田区': ['1', '2', '3'], '高新区': ['11', '22', '33']}, 'JD': {'SSS': [1, 2]}}

 

其他操作:

d = {
    '1':'aaa',
     '2':'bbb',
    '3':'ccc',
    "4":'ddd',
}
a ={
    '1':'111',
    'd':123,
    888:999,
}
d.update(a)  #合并列表,并且以被合并的数据为最新的数据更新字典
print(d)
print(d.items()) #转换为列表

运行结果:

{'1': '111', '2': 'bbb', '3': 'ccc', '4': 'ddd', 'd': 123, 888: 999}

dict_items([('1', '111'), ('2', 'bbb'), ('3', 'ccc'), ('4', 'ddd'), ('d', 123), (888, 999)])

 

循环读取字典:

for key in d:
    print(key,d[key])

for item,key in d.items(): #会先把dictionary转成list,数据里大时莫用
    print(item,key)

运行结果:

1 aaa

2 bbb

3 ccc

4 ddd

1 aaa

2 bbb

3 ccc

4 ddd










本文转自白羊IT51CTO博客,原文链接: http://blog.51cto.com/000011211684/1980932 ,如需转载请自行联系原作者
相关文章
|
17天前
|
存储 开发者 Python
Python中的collections模块与UserDict:用户自定义字典详解
【4月更文挑战第2天】在Python中,`collections.UserDict`是用于创建自定义字典行为的基类,它提供了一个可扩展的接口。通过继承`UserDict`,可以轻松添加或修改字典功能,如在`__init__`和`__setitem__`等方法中插入自定义逻辑。使用`UserDict`有助于保持代码可读性和可维护性,而不是直接继承内置的`dict`。例如,可以创建一个`LoggingDict`类,在设置键值对时记录操作。这样,开发者可以根据具体需求定制字典行为,同时保持对字典内部管理的抽象。
|
1月前
|
存储 索引 Python
python字典:怎么取出key对应的值
python字典:怎么取出key对应的值
35 0
C4.
|
1月前
|
存储 Python
Python的字典
Python的字典
C4.
16 0
|
1月前
|
存储 数据库 索引
Python新手常见问题一:列表、元组、集合、字典区别是什么?
本文针对Python编程新手常遇到的问题,详细阐述了列表(List)、元组(Tuple)、集合(Set)和字典(Dictionary)这四种数据结构的核心区别。列表是一种有序且可变的数据序列,允许元素重复;元组同样有序但不可变,其内容一旦创建就不能修改;集合是无序、不重复的元素集,强调唯一性,主要用于数学意义上的集合操作;而字典则是键值对的映射容器,其中键必须唯一,而值可以任意,它提供了一种通过键查找对应值的有效方式。通过对这些基本概念和特性的对比讲解,旨在帮助初学者更好地理解并运用这些数据类型来解决实际编程问题。
37 1
|
8天前
|
安全 Python
python字典的内置方法
Python字典主要方法包括:`keys()`(返回所有键)、`values()`(返回所有值)、`items()`(返回所有键值对)、`get()`(安全取值,键不存在时返回默认值)、`setdefault()`(设置默认值)、`update()`(合并字典)、`pop()`(删除并返回值)、`clear()`(清空字典)、`copy()`(浅拷贝)、`fromkeys()`(新建字典并设置默认值)、`popitem()`(随机删除键值对)。
8 0
|
16天前
|
存储 Java 程序员
【Python】6. 基础语法(4) -- 列表+元组+字典篇
【Python】6. 基础语法(4) -- 列表+元组+字典篇
39 1
|
16天前
|
存储 Python
python基础篇: 详解 Python 字典类型内置方法
python基础篇: 详解 Python 字典类型内置方法
25 1
|
22天前
|
C语言 Python
Python字典推导式:高效构建字典的利器
在Python编程中,字典推导式(Dictionary Comprehension)是一种强大的构造工具,它允许我们以简洁的方式从现有可迭代对象创建新的字典。通过字典推导式,我们可以轻松地对数据进行转换、过滤或重新组织,以符合特定的需求。本文将深入探讨字典推导式的概念、语法和应用场景,帮助读者更好地掌握这一高效的编程工具。
|
27天前
|
Python
深入解析Python中的字典推导式
深入解析Python中的字典推导式
|
1月前
|
存储 Java Python
助你更好的理解 Python 字典
助你更好的理解 Python 字典

热门文章

最新文章