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,一经查实,立即删除!

相关文章

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

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

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

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

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

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

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

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

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

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

@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,非负矩阵分解,它的目标很明确,就是将大矩阵分…

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

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

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

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

activity 点击后传递数据给fragment_Fragment 新特性 : Fragment Result API 使用以及源码分析

原标题: Android Fragments: Fragment Result原文地址: https://proandroiddev.com/android-fragments-fragment-result......原文作者: Husayn Hakeem今年 Google 推出了 Fragment Result API 和 Activity Results API,用来取代之前的 Activity 和 Fragment 之间通…

android卡片层叠效果_ReactNative之Android绝对布局position:#x27;absolute#x27;问题

工作中会遇到各种各样的问题,ReactNative开发也是填坑不止。比如最近在开发需求中,就遇到一个问题。在一个卡片类型的右上角添加一个删除按钮。使用了绝对布局position:absolute属性,在Android上却无法正常显示,很是烦恼。有一个相…

敏捷开发的6个实战经验

在大型企业中经常是各种软件开发模式混用,一些采用敏捷开发,一些则是采用传统的瀑布式或RUP(统一软件开发过程)。敏捷开发,相对传统软件开发模式,它主要是针对快速变化的需求,不断优化管理流程&…

java 正则匹配括号是否成对_十分钟学会正则表达式

正则表达式用处挺广的,主要用于处理字符串。正则引擎想要在计算机语言中使用正则表达式,那么这门计算机语言必须要利用正则引擎去实现相应的正则库。主要的正则引擎分为以下两类:DFA 确定性的状态机。不使用”回溯”,效率高&#…

android token机制_你真的了解16.6ms刷新机制吗?

阅读本文前,请您先点击上面的蓝色字体“Android扫地僧”,“关注”后再点击置顶公众号,优质干货,重磅资源第一时间送达。散人丶https://juejin.im/post/5ce686a46fb9a07ec754f470前言之前在整理知识的时候,看到android屏…

dfa2.java 原理_DFA编程练习2

题目: 请设计DFA, 使其接受全部含有奇数个1的串, 假定 ∑ {0, 1}.解:DFA可能出现两个个状态:qeven: 读入了偶数个1的串.qodd: 读入了奇数个1的串, 该状态也是终结状态(accept state).它们的状态转移图如下:编写程序, 运行效果如下:测试用例说明:0000不被上图的DFA接受1111不被…

fread读取整个文件_qt如何实现大文件的加载和显示

最近研究了下如何用qt的原生控件来加载和显示大文件(>1G),分享下一些摸索经验。下文源码:compilelife/loginsight​github.com文件的内存映射在开始qt部分之前,我们先了解一个概念——文件的内存映射。我们知道一般…

linux内核编译及添加系统调用(hdu)_浅谈关于Linux内核write系统调用操作的原子性

Linux系统的write调用到底是不是原子的。网上能搜出一大堆文章,基本上要么是翻译一些文献,要么就是胡扯,本文中我来结合实例来试着做一个稍微好一点的回答。先摆出结论吧。结论包含两点,即write调用不能保证什么以及write调用能保…

java 判断对象为控制_Java流程控制

Java流程控制1、Scanner对象①java.util.Scanner是Java5的新特性,可以通过Scanner类来获取用户的输入。②基本语法:1 Scanner snew Scanner(System.in);③通过next()和nextLine()方法接受用户输入,通过hasNext()和hasNextLine()方法来判断用户…

directx最终用户运行时_运维定位服务故障时,前5分钟都在忙啥?

遇到服务器故障,问题出现的原因很少可以一下就想到。我们基本上都会从以下步骤入手,这些也是绝大多数运维工程师在定位故障时前几分钟的主要排查点:一、尽可能搞清楚问题的前因后果不要一下子就扎到服务器前面,你需要先搞明白对这…

IDE--ubuntu下安装 Source insight

2013-06-03 09:05 74人阅读 评论(0) 收藏 举报 习惯了在source insight下编辑阅读源码,在linux下用vi总是用不好 ,还是在ubuntu上用回熟悉的source insight。 在ubuntu中,安装windows程序用wine,然后用wine安装windows软件即可。…