Python 列表元组字典集合

列表(list)

  • 有序性,可存储任意类型的值
  • 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1
  • 可变性 ,支持切片、合并、删除等操作
  • 可通过索引来向指定位置插入元素
  • 可通过pop()方法删除末尾元素,pop(索引位置)来删除指定位置元素
  • 替换元素可直接通过赋值给对应的的索引位置
 1 classMates = ['zhangsan','lisi','wangwu']
 2 print(classMates[0])  #通过索引来获取元素
 3 print(classMates[-1])  #列表元素的所因为-1的为最后一个元素
 4 classMates.append('chenliu')   #在列表末尾追加元素
 5 print(classMates)
 6 classMates.insert(1,'chenyi')  #通过insert函数 用索引号来指定插入元素位数
 7 print(classMates)
 8 classMates.pop()  #弹出元素 默认为最后一个元素
 9 print(classMates)
10 classMates.pop(1) #通过指定索引删除元素
11 print(classMates)
12 classMates[0] = 'sanduo' #通过赋值,直接把索引为0的元素给替换掉
13 print(classMates)
14 
15 s = ['python',123,True]  #列表可以存放不同数据类型的元素
16 L = ['man','woman',['python',123,]]  #列表元素也可以为其他列表
17 print(L)
18 
19 
20 L = [
21     ['Apple', 'Google', 'Microsoft'],
22     ['Java', 'Python', 'Ruby', 'PHP'],
23     ['Adam', 'Bart', 'Lisa']]
24 print(L[0][0])  #通过索引来打印元素Apple

元组(tuple)

  • 有序性,和列表一样通过偏移存取,支持用索引来读取元素
  • 不可变性,不支持任何修改及任何调用
  • tuple可作为字典的key,可用于字符串格式化中
1 classMates = ('lisa','rom','bobi')
2 t = (1,)  #在显示只有一个元素的元组时,会在后面加一个逗号
3 print(t)

字典 (dictionary)

  • 无序可变的,属于科扁映射类型
  • 采用键值对(key-value )进行存储,查找速度较快
  • 可以通过pop.() 来进行删除键,所对应的value也会被删除
  • 除了初始化字典时存放数据,还可通过 dict['key'] = value 来存放
  • 键为固定的不可变的,只能对应一个value,多次对一个key放入value,后面的值被顶替前面的值
  • 需要占用大量内存 ,浪费内存
 1 dictOne = {'zhangsan': 95,'lisi': 87,'wangwu':76}
 2 print(dictOne['wangwu'])
 3 dictOne['sanduo'] = 100  #把数据放入dict的方法,除了初始化时指定外,还可以通过key放入
 4 print(dictOne['sanduo']) 
 5 dictOne['sanduo'] = 98  #重复给一个key赋值,后面的值会把前面的值代替
 6 print(dictOne['sanduo'])
 7 dictOne['xiaozhang'] = 67
 8 print(dictOne)
 9 print('sanduo'in dictOne )  #用 in 判断key在列表中是否存在
10 print(dictOne.get('sanduo',-1))
11 print(dictOne.get('wanwu',-1))  #通过get() 如果key不存在,可以返回None,或者自己指定的 value
12 dictOne.pop('zhangsan')  #通过pop.() 删除字典的键,同时对应的value也会被删除
13 print(dictOne) 

 

集合(set)

  • 无序性、无重复key
  • 创建set,需要提供一个list作为输入集合
  • 通过add(key)方法添加元素
  • 通过remove(key)删除元素
  • 不可以放入可变对象例如 list
 1 setFirst = set([2,3,4,6,5])  # 创建set 需要提供一个list作为输入集合
 2 print(setFirst) 
 3 
 4 setSecond = set([1,2,2,3,4,3])  #set 自动过滤掉重复元素
 5 print(setSecond) 
 6 setSecond.add(9)  #通过add.()来添加元素到set中
 7 print(setSecond) 
 8 setSecond.remove(4)  #通过remove.()来删除元素
 9 print(setSecond)
10 
11 firstList = [1,2,3,3,3,5,6,6,6,9]
12 print(list(set(firstList)))   #利用set来过滤掉重复元素 
13 
14 s1 = set([1,2,3])
15 s2 = set([2,3,4])
16 print(s1 & s2)  #做交集运算
17 print(s1 | s2)  #做并级运算

 

转载于:https://www.cnblogs.com/strive99/p/10164611.html

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

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

相关文章

MySQL中事物的详解

1. 事物的定义及特性 事务是一组操作数据库的SQL语句组成的工作单元,该工作单元中所有操作要么同时成功,要么同时失败。事物有如下四个特性,ACID简称“酸性”。 1)原子性:工作单元中所有的操作要么都成功,要…

edittext 属性

1.去掉edittext的底线,设置,不管是edittext,还是appcompatEdittext都是这个属性 转载于:https://www.cnblogs.com/hechangshou/p/9301004.html

springboot 配置webservice接口

导入依赖的jar <!-- webservice cxf --><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-frontend-jaxws</artifactId><version>3.1.6</version></dependency><dependency><groupId>org…

【Django】认证系统

目录 #. auth模块1. 认证 authenticate()2. 登陆 login(HttpRequest, user)3. 注销 logout(request)4. 认证判断 is_authenticated()5. 登陆校验 login_requierd()6. 创建普通用户 create_user()7. 创建超级用户 create_superuser()8. 密码校验 check_password(password)9. 修改…

尝试修改源码需要用到git存一下

git reflog查看本地记录 git reset --hard 02a3260 转载于:https://www.cnblogs.com/smzd/p/8492065.html

poj3713 Transferring Sylla 枚举+tarjan判割点

其实就是判断是否为三连通图 三连通图指的是去掉3个点就不连通的图&#xff0c;但是并没有直接求三连通的算法。著名的Tarjan算法可以求解连通和割点&#xff0c;再枚举删除一个点就能达到三连通的目的。 先看用例2&#xff0c;是由用例1去掉一条边而变成非三连通图的&#xff…

Linux 安装Zookeeper单机版(使用Mac远程访问)

阅读本文需要先阅读安装Zookeeper<准备> 新建目录 mkdir /usr/local/zookeeper 解压 cd zookeeper压缩包所在目录 tar -xvf zookeeper-3.4.12.tar.gz -C /usr/local/zookeeper 新建目录 mkdir /usr/local/zookeeper/zookeeper-3.4.12/data 配置文件准备 cp /usr/local/zo…

深入vue

转载于:https://www.cnblogs.com/smzd/p/8547748.html

html--form表单常用操作

form表单 用于收集用户信息&#xff0c;如&#xff1a;登录、注册等场景&#xff1b;所有要提交的数据都必须放在form标签中<form action" " method" "> action&#xff1a;提交地址、动作&#xff0c;与input标签中type标签的submit属性相关联。 &…

MySQL触发器(转载)

触发器&#xff08;trigger&#xff09;是数据库中的一个很重要的、很实用的基于事件的处理器&#xff0c;在处理一些业务需求的时候&#xff0c;使用触发器会很方便。似乎在《高性能MySQL》中&#xff0c;对触发器作了一定的描述&#xff0c;也提到使用中的一些优势和局限性&a…

神级bug解决方法

真的是神级bug,util包中的Arrays类导入不了&#xff0c;一直报错。原因&#xff1a;JDK 1.8和Myeclipse 8.5不兼容&#xff0c;导致java.util.Arrays类无法被编译。所以报错。解决方法&#xff1a;1.降低jdk版本。2.升高Myeclipse版本转载于:https://www.cnblogs.com/yanlongw/…

es6注意点

补救方法&#xff1a; 详情&#xff1a;http://es6.ruanyifeng.com/#docs/array 取出文本内容 实现深拷贝 jq实现不完全深拷贝 jQuery.extend jQuery.fn.extend function () {var options, name, src, copy, copyIsArray, clone,target arguments[0] || {},i 1,length ar…

input标签用法解读

HTML5/HTML中标签用法解读 OK&#xff01;今天博主为小伙伴们介绍的内容是HTML5/HTML中标签的用法&#xff0c;&#xff0c;&#xff0c; &#xff0c;emmm图文并茂哦&#xff01; 下面正式开始内容的介绍&#xff1a;首先&#xff0c;直观上说标签规定了用户可以在其中输入数据…

软件开发文档整理(之)一张示意图 | 清晰明了

在整个软件开发周期&#xff0c;开发文档是必不可少的资料&#xff0c;它们贯穿于整个开发周期&#xff0c;用来评估计划、规划进度、项目管理、软件测试、软件发布&#xff0c;可以说至关重要。   开发文档必须归档&#xff0c;没有归档的文档作用大打折扣&#xff0c;时效性…

《SQL Server 2008从入门到精通》--20180717

目录 1.触发器1.1.DDL触发器1.2.DML触发器1.3.创建触发器1.3.1.创建DML触发器1.3.2.创建DDL触发器1.3.3.嵌套触发器1.3.4.递归触发器1.4.管理触发器1.触发器 触发器是一种特殊的存储过程&#xff0c;与表紧密关联。 1.1.DDL触发器 当服务器或数据库中发生数据定义语言&#xff…

主成分分析原理解释(能力工场小马哥)

主成分分析&#xff08;Principal components analysis&#xff09;-最大方差解释 在这一篇之前的内容是《Factor Analysis》&#xff0c;由于非常理论&#xff0c;打算学完整个课程后再写。在写这篇之前&#xff0c;我阅读了PCA、SVD和LDA。这几个模型相近&#xff0c;却都有自…

vue全面介绍--全家桶、项目实例

简介 “简单却不失优雅&#xff0c;小巧而不乏大匠”。 2016年最火的前端框架当属Vue.js了&#xff0c;很多使用过vue的程序员这样评价它&#xff0c;“vue.js兼具angular.js和react.js的优点&#xff0c;并剔除了它们的缺点”。授予了这么高的评价的vue.js&#xff0c;也是开…

吴恩达机器学习笔记 —— 9 神经网络学习

本章讲述了神经网络的起源与神经元模型&#xff0c;并且描述了前馈型神经网络的构造。 更多内容参考 机器学习&深度学习 在传统的线性回归或者逻辑回归中&#xff0c;如果特征很多&#xff0c;想要手动组合很多有效的特征是不现实的&#xff1b;而且处理这么大的特征数据量…

vue.js开发环境搭建

环境准备 Node.js Javascript的运行时环境npm Node.js下的包管理工具webpack 前端资源模块化管理和打包工具vue-cli 脚手架构建工具cnpm npm的淘宝镜像 Vue.js安装 Node.js的安装非常容易&#xff0c;首先从官网下载你所需操作系统的版本&#xff0c;然后一直下一步就ok&…

正则基础知识

创建正则表达式 1.使用new来创建 var exp new RegExp(box , gi );g 全局匹配 i 忽略大小写 m 多行匹配2.使用字面量 var exp /box/gi; 直接用2个 / ; 在俩个斜杠后加上模式修饰符&#xff1b; 俩种创建方式比较: 1.使用字面量方式创建用的更加广泛; 2.当要匹配的内容是变量时,…