[Python]学习基础篇:字典

简介:

字典

字典这个数据结构的功能和它的名字一样,根据key得到value值。

  • 字典的定义 
    方法: 
    dict={‘key1’:value1,’key2’:value2……..} 
    对于字典,key值在字典中不能重复,若出现重复,将更改原有的key对应的value值。

  • 字典的基本操作 
    使用字典:dict={‘key1’:1,’key2’:2,’key3’:3,’key4’:4} 
    (1).修改字典 
    方法:dict[key]=new_value

>>>dict['key3']='jdieiq' >>>dict['key3'] 'jdieiq'

(2).删除字典元素 
方法1:del dict[‘key’] 
若无没有key时,删除整个字典,该方法与dict.clear()的区别是del删除整个字典,字典就不存在了,而clear方法知识清空字典,字典对象是存在的。

>>>del dict['key3'] >>>dict {'key1': 1, 'key2': 2, 'key4': 4}

方法2:dict.pop(‘key’) 
此方法弹出一个key值所对应的value的键值对,若key无时,弹出字典中的最后一个键值对。

>>>dict.pop('key2')2>>>dict {'key1': 1, 'key4': 4}

(3).字典的长度 
方法:len(dict) 
对于求长度的方法,无论是列表,元组还是字典都是用len()函数

  • 字典的方法 
    使用字典:dict={‘key1’:1,’key2’:2,’key3’:3,’key4’:4} 
    (1).clear()方法 
    作用:清空字典,无返回值 
    (2).copy()方法 
    作用:浅复制一个字典 
    浅复制:指在复制后,复制后的字典值改变,不影响原字典的值

>>>dict1=dict.copy() >>>dict1 {'key4': 4, 'key3': 3, 'key2': 2, 'key1': 1} >>>dict1['key3']='fjiew'>>>dict1 {'key4': 4, 'key3': 'fjiew', 'key2': 2, 'key1': 1} >>>dict {'key1': 1, 'key2': 2, 'key3': 3, 'key4': 4}

(3).fromkeys(seq[,value])方法 
作用:返回一个以seq作为key值的字典,若value不存在时,创建的字典的value值为None,若value存在是创建的字典key值所对应的的value值为value. 
(4).get(key) 
作用:返回key值所对应的value值,若key不存在时,返回空,不同于dict[key]方法,dict[key]方法,若key不存在时,返回错误。

>>>dict.get('key3')3>>>dict.get('key8') >>>dict['key8'] Traceback <most recent call last:>     File "<stdin>",line 1,in <module> KeyError:'key8'

(5).setdefault(key,default=None)方法 
作用:此作用和get的作用一样,但是不一样的是key值不存在时,将key存进字典并赋值为None

>>>dict.setdefault('key8',default=None) >>>dict {'key1': 1, 'key2': 2, 'key3': 3, 'key4': 4,'key8':None}

(6).items()方法 
作用:以列表的形式返回可遍历以键值为元素的元组,一个键值对为一个元组,左右元组组成一个列表

>>>dict.items() dict_items([('key1',1),('key2',2),('key3',3),('key4',4),('key8',None)])

(7).keys()方法和values()方法 
作用:分别返回key列表和value列表

>>>dict.keys() dict_keys(['key1','key2','key3','key4','key8']) >>>dict.values() dict_values([1,2,3,4,None])

(8).update(new_dict)方法 
作用:将一个新的dict_new跟新到dict中

>>>dict1={'1':2,'3':4} >>>dict.update(dict1) >>>dict {'key1': 1, 'key2': 2, 'key3': 3, 'key4': 4,'1':2,'3':4}
  • 字典和列表的区别

    dict的特点: 
    查找和插入的速度极快,不会随着key的增加而增加 
    需要占用大量的内存,内存浪费多 
    list的特点: 
    查找和插入时间随着元素的增加而增加 
    占用空间小,浪费内存小

  • 本文转自lnsaneLlinux博客51CTO博客,原文链接http://blog.51cto.com/lnsane784/2058149如需转载请自行联系原作者

Insane_linux

相关文章
|
2月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
81 3
|
2月前
|
安全 关系型数据库 测试技术
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
40 4
|
23天前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
5天前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
14天前
|
Python
Python学习的自我理解和想法(10)
这是我在千锋教育B站课程学习Python的第10天笔记,主要学习了函数的相关知识。内容包括函数的定义、组成、命名、参数分类(必须参数、关键字参数、默认参数、不定长参数)及调用注意事项。由于开学时间有限,记录较为简略,望谅解。通过学习,我理解了函数可以封装常用功能,简化代码并便于维护。若有不当之处,欢迎指正。
|
6天前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
20 2
|
25天前
|
存储 索引 Python
Python学习的自我理解和想法(6)
这是我在B站千锋教育学习Python的第6天笔记,主要学习了字典的使用方法,包括字典的基本概念、访问、修改、添加、删除元素,以及获取字典信息、遍历字典和合并字典等内容。开学后时间有限,内容较为简略,敬请谅解。
|
29天前
|
存储 程序员 Python
Python学习的自我理解和想法(2)
今日学习Python第二天,重点掌握字符串操作。内容涵盖字符串介绍、切片、长度统计、子串计数、大小写转换及查找位置等。通过B站黑马程序员课程跟随老师实践,非原创代码,旨在巩固基础知识与技能。
|
28天前
|
程序员 Python
Python学习的自我理解和想法(3)
这是学习Python第三天的内容总结,主要围绕字符串操作展开,包括字符串的提取、分割、合并、替换、判断、编码及格式化输出等,通过B站黑马程序员课程跟随老师实践,非原创代码。
|
25天前
|
Python
Python学习的自我理解和想法(7)
学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码! 今天是学Python的第七天,学的内容是集合。开学了,时间不多,写得不多,见谅。
下一篇
开通oss服务