返回顶部
首页 > 资讯 > 后端开发 > Python >Python字典使用技巧有哪些
  • 731
分享到

Python字典使用技巧有哪些

2023-06-29 01:06:34 731人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

今天小编给大家分享一下python字典使用技巧有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。字典(Dictionary

今天小编给大家分享一下python字典使用技巧有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

字典(Dictionary)是Python提供的一种常用的数据结构,它用于存放具有映射关系的数据,由键(key)和值(value)成对组成,键和值中间以冒号:隔开,项之间用逗号隔开,整个字典由大括号{}括起来,格式如下:

dic = {key1 : value1, key2 : value2 }

字典也被称作关联数组或哈希表,下面是几种常见的字典创建方式:

# 方法1dic1 = { 'Author' : 'Python' , 'age' : 99 , 'sex' : '男' }# 方法2lst = [('Author', 'Python'), ('age', 99), ('sex', '男')]dic2 = dict(lst)# 方法3Dic3 = dict( Author = 'Python', age = 99, sex = '男')# 方法4list1 = ['Author', 'age', 'sex']list2 = ['Python', 99, '男']dic4 = dict(zip(list1, list2))

字典创建的方式还有很多种,这里不再赘述。

字典由 dict 类代表,可以使用 dir(dict) 来查看该类包含哪些方法,输入命令,可以看到如下输出结果:

print('methods = ',methods)methods = ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__fORMat__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

字典的方法和属性有很多种,这里我们重点介绍以下11种方法:

['clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

1.dict.clear()

clear() 用于清空字典中所有元素(键-值对),对一个字典执行 clear() 方法之后,该字典就会变成一个空字典:

list1 = ['Author', 'age', 'sex']list2 = ['Python', 99, '男']dic1 = dict(zip(list1, list2))# dic1 = {'Author': 'Python', 'age': 99, 'sex': '男'}dic1.clear()# dic1 = {}

2.dict.copy()

copy() 用于返回一个字典的浅拷贝:

list1 = ['Author', 'age', 'sex']list2 = ['Python', 99, '男']dic1 = dict(zip(list1, list2))dic2 = dic1 # 浅拷贝: 引用对象dic3 = dic1.copy() # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用dic1['age'] = 18# dic1 = {'Author': 'Python', 'age': 18, 'sex': '男'}# dic2 = {'Author': 'Python', 'age': 18, 'sex': '男'}# dic3 = {'Author': 'Python', 'age': 99, 'sex': '男'}

其中 dic2 是 dic1 的引用,所以输出结果是一致的,dic3 父对象进行了深拷贝,不会随dic1 修改而修改,子对象是浅拷贝所以随 dic1 的修改而修改,注意父子关系。

拓展深拷贝:copy.deepcopy()

import copylist1 = ['Author', 'age', 'sex']list2 = ['Python', [18,99], '男']dic1 = dict(zip(list1, list2))dic2 = dic1dic3 = dic1.copy()dic4 = copy.deepcopy(dic1)dic1['age'].remove(18)dic1['age'] = 20# dic1 = {'Author': 'Python', 'age': 20, 'sex': '男'}# dic2 = {'Author': 'Python', 'age': 20, 'sex': '男'}# dic3 = {'Author': 'Python', 'age': [99], 'sex': '男'}# dic4 = {'Author': 'Python', 'age': [18, 99], 'sex': '男'}

dic2 是 dic1 的引用,所以输出结果是一致的;dic3 父对象进行了深拷贝,不会随dic1 修改而修改,子对象是浅拷贝所以随 dic1 的修改而修改;dic4 进行了深拷贝,递归拷贝所有数据,相当于完全在另外内存中新建原字典,所以修改dic1不会影响dic4的数据

3.dict.fromkeys()

fromkeys() 使用给定的多个键创建一个新字典,值默认都是 None,也可以传入一个参数作为默认的值:

list1 = ['Author', 'age', 'sex']dic1 = dict.fromkeys(list1)dic2 = dict.fromkeys(list1, 'Python')# dic1 = {'Author': None, 'age': None, 'sex': None}# dic2 = {'Author': 'Python', 'age': 'Python', 'sex': 'Python'}

4.dict.get()

get() 用于返回指定键的值,也就是根据键来获取值,在键不存在的情况下,返回 None,也可以指定返回值:

list1 = ['Author', 'age', 'sex']list2 = ['Python', [18,99], '男']dic1 = dict(zip(list1, list2))Author = dic1.get('Author')# Author = Pythonphone = dic1.get('phone')# phone = Nonephone = dic1.get('phone','12345678')# phone = 12345678

5.dict.items()

items() 获取字典中的所有键-值对,一般情况下可以将结果转化为列表再进行后续处理:

list1 = ['Author', 'age', 'sex']list2 = ['Python', [18,99], '男']dic1 = dict(zip(list1, list2))items = dic1.items()print('items = ', items)print(type(items))print('items = ', list(items))# items = dict_items([('Author', 'Python'), ('age', [18, 99]), ('sex', '男')])# <class 'dict_items'># items = [('Author', 'Python'), ('age', [18, 99]), ('sex', '男')]

6.dict.keys()

keys() 返回一个字典所有的键:

list1 = ['Author', 'age', 'sex']list2 = ['Python', [18,99], '男']dic1 = dict(zip(list1, list2))keys = dic1.keys()print('keys = ', keys)print(type(keys))print('keys = ', list(keys))# keys = dict_keys(['Author', 'age', 'sex'])# <class 'dict_keys'># keys = ['Author', 'age', 'sex']

7.dict.pop()

pop() 返回指定键对应的值,并在原字典中删除这个键-值对:

list1 = ['Author', 'age', 'sex']list2 = ['Python', [18,99], '男']dic1 = dict(zip(list1, list2))sex = dic1.pop('sex')print('sex = ', sex)print('dic1 = ',dic1)# sex = 男# dic1 = {'Author': 'Python', 'age': [18, 99]}

8.dict.popitem()

popitem() 删除字典中的最后一对键和值:

list1 = ['Author', 'age', 'sex']list2 = ['Python', [18,99], '男']dic1 = dict(zip(list1, list2))dic1.popitem()print('dic1 = ',dic1)# dic1 = {'Author': 'Python', 'age': [18, 99]}

9.dict.setdefault()

setdefault() 和 get() 类似, 但如果键不存在于字典中,将会添加键并将值设为default:

list1 = ['Author', 'age', 'sex']list2 = ['Python', [18,99], '男']dic1 = dict(zip(list1, list2))dic1.setdefault('Author', '')print('dic1 = ',dic1)# dic1 = {'Author': 'Python', 'age': [18, 99], 'sex': '男'}dic1.setdefault('name', '')print('dic1 = ',dic1)# dic1 = {'Author': 'Python', 'age': [18, 99], 'sex': '男', 'name': ''}

10.dict.update(dict1)

update() 字典更新,将字典dict1的键-值对更新到dict里,如果被更新的字典中己包含对应的键-值对,那么原键-值对会被覆盖,如果被更新的字典中不包含对应的键-值对,则添加该键-值对:

list1 = ['Author', 'age', 'sex']list2 = ['Python', [18,99], '男']dic1 = dict(zip(list1, list2))print('dic1 = ',dic1)# dic1 = {'Author': 'Python', 'age': [18, 99], 'sex': '男'}list3 = ['Author', 'phone' ]list4 = ['', 12345678]dic2 = dict(zip(list3, list4))print('dic2 = ',dic2)# dic2 = {'Author': '', 'phone': 12345678}dic1.update(dic2)print('dic1 = ',dic1)# dic1 = {'Author': '', 'age': [18, 99], 'sex': '男', 'phone': 12345678}

11.dict.values()

values() 返回一个字典所有的值:

list1 = ['Author', 'age', 'sex']list2 = ['Python', [18,99], '男']dic1 = dict(zip(list1, list2))values = dic1.values()print('values = ', values)print(type(values))print('values = ', list(values))# values = dict_values(['Python', [18, 99], '男'])# <class 'dict_values'># values = ['Python', [18, 99], '男']

以上就是“Python字典使用技巧有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网Python频道。

--结束END--

本文标题: Python字典使用技巧有哪些

本文链接: https://lsjlt.com/news/321724.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python字典使用技巧有哪些
    今天小编给大家分享一下Python字典使用技巧有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。字典(Dictionary...
    99+
    2023-06-29
  • Python经典的使用技巧有哪些
    这篇文章主要介绍了Python经典的使用技巧有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python经典的使用技巧有哪些文章都会有所收获,下面我们一起来看看吧。如何测量程序的执行时间关于 Python ...
    99+
    2023-06-29
  • Python字典使用技巧详解
    目录1. 引言2. 使用union操作合并字典3. 使用解包操作合并字典4. 使用字典生成式5. 字典中key-value互换6. 列表转为字典7. 字典按照value来排...
    99+
    2022-11-16
    Python字典用法 Python字典
  • Linux经典实用的使用技巧有哪些
    本篇内容主要讲解“Linux经典实用的使用技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux经典实用的使用技巧有哪些”吧!HOST的乐趣: Host能够用来查询域名,然而它可以得...
    99+
    2023-06-26
  • 十大CSS使用经典技巧有哪些呢
    这篇文章给大家介绍十大CSS使用经典技巧有哪些呢,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。和大家重点讨论一下十大CSS使用经典技巧,主要包括CSS字体属性简写规则,CSS可以同时使...
    99+
    2024-04-02
  • CSS十个经典使用技巧都有哪些
    这篇文章将为大家详细讲解有关CSS十个经典使用技巧都有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。向大家简单描述一下十个CSS经典技巧,比如说CSS可...
    99+
    2024-04-02
  • python使用数字与字符串方法技巧有哪些
    这篇文章主要介绍了python使用数字与字符串方法技巧有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 少使用数字字面量下面的代码使用数字来作为判断条件的语句,如果你...
    99+
    2023-06-29
  • Python有哪些有趣的使用技巧
    本篇内容介绍了“Python有哪些有趣的使用技巧”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一 . print 打印带有颜色的信息大家知道...
    99+
    2023-06-02
  • Python有哪些基础使用技巧
    这篇文章主要讲解了“Python有哪些基础使用技巧”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python有哪些基础使用技巧”吧!>>> some_list&n...
    99+
    2023-06-16
  • 使用Python Pip的技巧有哪些
    这篇文章主要介绍了使用Python Pip的技巧有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇使用Python Pip的技巧有哪些文章都会有所收获,下面我们一起来看看吧。1.安装 pip从 Python ...
    99+
    2023-07-06
  • Python 十个字典用法使用技巧归纳
    目录1.dict.clear()2.dict.copy()3.dict.fromkeys()4.dict.get()5.dict.items()6.dict.keys()7.dict...
    99+
    2024-04-02
  • PYTHON中对列表以及字典的处理小技巧有哪些
    PYTHON中对列表以及字典的处理小技巧有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。#if 语句在行内print "Hello&quo...
    99+
    2023-06-04
  • JavaScript字符串的使用技巧有哪些
    这篇文章主要讲解了“JavaScript字符串的使用技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript字符串的使用技巧有哪些”吧!1.如何多次复制一个字符串JS 字...
    99+
    2023-06-27
  • Python技巧有哪些
    这篇文章主要讲解了“Python技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python技巧有哪些”吧!1. 列表理解列表理解可以代替丑陋的for循环来填充列表。列表理解的基本语...
    99+
    2023-06-15
  • 有哪些有用的Python技巧
    本篇内容介绍了“有哪些有用的Python技巧”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 函数连续调用def add(...
    99+
    2023-06-16
  • Python实用技巧有哪些
    这篇文章主要讲解了“Python实用技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python实用技巧有哪些”吧!整理字符串输入整理用户输入的问题在编程过程中极为常见。通常情况下,...
    99+
    2023-06-16
  • 好用Python技巧有哪些
    这篇文章主要介绍“好用Python技巧有哪些”,在日常操作中,相信很多人在好用Python技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”好用Python技巧有哪些”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-22
  • 有哪些Python实用技巧
    本篇内容主要讲解“有哪些Python实用技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有哪些Python实用技巧”吧!1. 使用youtube-dl下载YouTube视频你可以使用Pytho...
    99+
    2023-06-16
  • Python常用技巧有哪些
    本文小编为大家详细介绍“Python常用技巧有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python常用技巧有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.字符串反转使用Python切片反转字符...
    99+
    2023-07-05
  • Python有哪些基础的使用技巧
    本篇内容介绍了“Python有哪些基础的使用技巧”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. read_csv每个人都知道这个命令。但...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作