python 元组 列表 字典区别_python编程:常用的数据结构之字典的方法总结,和列表和元组区别...

字典是一种键:值的形式,我们前面分享的文章学习了列表[],元祖(),字典是由{}引起来的,列表的键对应的是列表的下标,而字典的值对应的是字典的键,我们可以通过字典的键来获取字典的值

元组和列表是有序的

字典由两个特性:

第一:无序性

第二:不可重复,键必须唯一,后面的会覆盖前面的

注:想学习Python的小伙伴们

可以

进群:984137898

常用增删改查api的演示

1240

1240

文本代码

arr={

'one':"huan",

'two':"feng",

'three':"de",

'five':"five",

}

print("全部数据",arr)

#获取数据

print("取出数据键为one的",arr['one'])

#如果键没有为one的就会出错,可以通过get方法来获取数据

print("取出数据键为one的get方式",arr.get('one'))

print("取出数据键为ononon的get方式数据不存在返回none",arr.get('ononon'))

#删除数据

del arr['two']

print("删除键为two的",arr)

arr.pop('three')

print("删除键为three",arr)

#修改数据

arr['one']='oneone'

print("修改键为one的值为oneone",arr)

#增加数据,弄一个没有的键,直接复制

arr['six']="six"

print("增加一个six",arr)

#判断一个字典中是否有数据

print("判断一个字典中是否有键为one的",'one' in arr)

列表中值还可以是列表多层嵌套

其它的api

打印一个列表中所有的键

print(arr.keys())

打印一个列表中所有的值

print(arr.values())

1240

列表中添加数据

我们可以直接使用列表名[键名]=值来添加数据,但是这种方式添加数据的问题在于,后面添加的如果和已经存在的键相同那么就会产生覆盖问题

还有一个添加方法列表名.setdefault(键,值)这种方式如果当前列表中没有原来的键,则添加成功,如果存在原来添加的键则不会添加,这样覆盖问题就解决了

1240

1240

可以看出info.setdefault("1","3")失败了,因为键1原来就存在

两个列表进行合并update,当有重复键的时候哪个字典调用的update方法,哪个被覆盖,其它的全部合并

1240

结果就是info的全部留下,然后没有重复的1:2,3:3也会留下

1240

将一个字典转成一个列表,方法是items()

演示:

1240

1240

这样字典中的每一组键值对都会变成列表中的一个元组

可以使用fromkeys() 函数用于创建一个初始化字典,方法为:

1240

1240

[1,2,3]为字典的键,而"huan"为每个字典的初始值

1240

1240

一个改变另外一个不会变,这是值为一级的时候,如果值为一级以上就会出现浅copy的情况,一个改变,全部 都变。

1240

1240

可以看出{3}为二级,所以一个改变,全部都改变了

字典的循环

1240

1240

i为键,info[i]为值

1240

1240

第一个参数是键,第二个参数是值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434152.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu11.10中配置OGRE1.8

在这里提到的版本有点低,但对于Ubuntu11.10Ogre1.8照样适用。 对于Ubuntu 9.10及以上版本: 安装编译器及配置工具: sudo apt-get install build-essential automake libto 安装必须的依赖: sudo apt-get install libfreetype6-dev…

java 录音_用JAVA实现不限时录音功能

在网上找了个录音软件,而且这个软件是根据手机里剩余内存的大小,可以进行不限时录音,所以特地拿上来和大家分享!这个JAVA软件我发到了“玩转手机”里。解压缩后,大家可以用MIDway_2.8中文,通过数据线上传到…

MinGw+Msys搭建环境 编译ffmpeg

MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU For Windows。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链…

redis 多线程_唬人的Redis多线程,也就那么回事

不羡鸳鸯不羡仙,一行代码调半天。原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。周末被一位小同学憋的很窝火。 他要和我探讨一下,redis到底是多线程的还是单线程…

关于客户端无法获得服务器端GP服务(Geoprocessing Service)结果的解决办法

之前发布了一个绘制等值面的服务,在本机测试的时候始终都可以访问,没有任何的问题,但是在远程访问时,出现了无法获得GP服务结果(注:结果为图片)的问题,而在服务器端确实生成了正确的结果。困扰了很久之后&a…

java 过滤器 中文_JAVA中文乱码过滤器(用java过滤器解决中文乱码)V0422 整理版

JAVA中文乱码过滤器(用java过滤器解决中文乱码)V0422 整理版不用再担心java中文乱码问题,一步到位,一次性解决。更方便更快捷。web-xml配置EncodingFiltercom.epet.util.EncodingFilterencodingGBKignoretrueEncodingFilter/*用java过滤器解决中文乱码哎…

ffmpeg 新老接口问题及对照集锦

ffmpeg源码包里面有个apichangs文档,里面有各种接口改变的记录,如果你发现接口不能用了,可以去搜索那个文档,可以找到对应的新接口,然后到新接口对应的头文件中找到说明文字 网上很多关于ffmpeg (libav)的资料都是N年…

c++界面开发_QT开发(三)——GUI原理分析

一、命令行程序命令行程序是面向过程的程序设计。命令行程序的特点:A、基于顺序结构执行B、程序执行过程中不需与用户交互C、程序执行结束给出最终运行结果命令行程序适用场合:A、单任务场合B、无交互、简单交互场合C、服务器应用场合二、GUI程序GUI程序…

[Ubuntu] Simple way to pass passwords on a shell script

here is the code for example: #!/bin/bashecho -e "your_password\nyour_password" | sudo /home/davidhhuan/the_shell_you_want_to_run.sh转载于:https://www.cnblogs.com/davidhhuan/archive/2012/11/12/2765983.html

解决链接错误:error LNK2001: 无法解析的外部符号 __iob

该错误主要是由于静态库在VC6编译而主程序在VC2005编译,大家用的CRT不同。解决办法,代码中增加 #ifdef __cplusplus extern "C" #endif FILE _iob[3] {__iob_func()[0], __iob_func()[1], __iob_func()[2]}; 此错误的产生根源: 在…

pycharm使用_后端开发使用pycharm的技巧

1、使用说明首先说明,本文所使用的功能为pycharm专业版所支持,其他版本如社区版,教育版,则不一定支持。作为一名后端开发,我猜你的桌面上一定打开着一系列的软件,用作开发调试工具,比如navicat数…

关于javafx支持IOS、android等智能手机解决方案

这两天回到javafx社区逛了一下,发现对这个问题讨论很多... 看完后,有两种意见。 第一种:是主流的,包括javafx社区以及绝大部分oracle内部javafx开发人员的意见:应该要支持,而且想把这个事情加入roadmap&…

java视窗_java-预览窗口(如Windows 7任务栏显示已打开的...

一个极其简单的实现.import java.awt.*;import java.awt.image.*;import java.awt.event.*;import javax.swing.*;class ShowPreviews {class ToolTipListener extends MouseAdapter {JWindow toolTip;JLabel label;Component preview;ToolTipListener(Component preview) {thi…

linux(ubuntu)下分区和格式化sd卡

我的手机sd卡需要分成两个分区,在windowxp下面死活搞不成。主要的问题是,window只认识sd卡的第一个分区。有人用修改驱动程序,让windows把sd卡认成日立的microdisk,分区和格式化也可以完成。但是在我的笔记本上,sd读卡…

@value 静态变量_Java中的变量——通过示例学习Java编程(4)

作者:CHAITANYA SINGH来源:通过示例学习Java编程(4):Java中的变量-方家话题​www.koofun.com变量是用来存放可以更改的值的容器。例如,当我写int i 10; 这里变量名是i,它与值10相关联&#xff…

nmf算法 python_NMF算法简介及python实现

[ pca算法用于原始数据维数较高时对数据进行降维 关于pca算法的学习,有一篇分析特别详细的论文http://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_componen基本原理NMF,非负矩阵分解,它的目标很明确,就是将大矩阵分…

linux 修改消息队列大小

环境:red hat5 linux消息队列的配置文件为: /etc/sysctl.conf ,里面: msgmax:  一条最大消息的字节数 msgmnb: 一个消息队列总共最大字节数 而我的系统这2个值都默认是65536,假如发一条65536长度的消息,…

龙芯购买MIPS指令集的授权

以前指责龙芯购买MIPS授权的那篇文章让人啼笑皆非,只能用无知来概况我在IT从业多年,非常赞同龙芯购买MIPS指令集的授权!分几个方面来阐述:(1)什么是指令集?指令集好像英文的26个字母&#xff0c…

python网络爬虫_Python爬虫实战之网络小说

今天和大家分享的是python爬虫实战,由于本人最近迷上了看网络小说,学生党又穷,只能看看网络dao版小说,现在这类dao版小说网站可以说非常的多,但是所有的网站进去都可以看见一大把的广告信息,非常影响我们的…

java反射机制详解_JAVA反射机制详解_JSP/Java编程_互联网开发技术网_传播最新的编程技术_php361.com...

今天,下午在和朋友聊天的时候,聊起了反射这个话题。我们就从下面这个段简单的代码开始吧。这个代码输出什么,想必大部分的读者跟我一样,会很快地知道答案:0 1 2 3 4 5 6 7 8 9。事实也是如此:朋友这个时候就…