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

相关文章

ios兼容问题

滑动卡顿: -webkit-overflow-scrolling:touch; 转载于:https://www.cnblogs.com/smzd/p/7891722.html

postgresql 高可用 etcd + patroni 之二 patroni

os: centos 7.4 postgresql: 9.6.9 etcd: 3.2.18 patroni: 1.4.4 patroni etcd 是在一个postgrsql 开源大会上 亚信的一个哥们讲解的高可用方案。 依然是基于 postgreql stream replication。 ip规划 192.168.56.101 node1 master 192.168.56.102 node2 slave 192.168.56.103 …

vue对象侦测

http://blog.csdn.net/yihanzhi/article/details/74200618 数组:this.$set(this.arr,index,value) 转载于:https://www.cnblogs.com/smzd/p/8390626.html

Laravel 5.4 migrate时报错: Specified key was too long error

Laravel 5.4默认使用utf8mb4字符编码,而不是之前的utf8编码。因此运行php artisan migrate 会出现如下错误: [Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key leng…

springboot工具类

ClassPathResource 在类路径下读取资源 public final String getPath() public boolean exists() public InputStream getInputStream() WebUtils 获取web资源工具类 public static String getRealPath(ServletContext servletContext, String path) public static Object g…

MySQL中事物的详解

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

记了老是忘记那就写下来吧宏任务微任务

宏任务:script 定时器 微任务:promiss process.nexttick new Promise(function(resolve){console.log(3);//此为同步程序resolve();//同步 是否异步 由内部函数决定console.log(4); }).then(function(){ //。then 异步console.log(5); });async function…

SPRING自定义注入CONTROLLER变量

问题描述 在SpringMVC中默认可以注入Model,ModelAndView,RequestParam,PathVariable 等,那么这个是怎么实现的,以及怎么注入一个自定义的参数呢 HandlerMethodArgumentResolver 在SpringMVC中有一个接口HandlerMethod…

进程,线程

import os, timeif __name__ __main__:print(the calling process id:%d % os.getpid())# 创建进程pid os.fork()if pid 0:# 子进程print(the child pid is %d % os.getpid())time.sleep(3)elif pid > 0:# 父进程os.wait() # 等待子进程终止print([%d]bye-bye % os.getpi…

livebos--iframe使用

新建一个方法。建一个参数&#xff0c;iframe控件&#xff0c;虚拟列。然后使用以下信息 <% livebos languagejavascript %>var url LB_ObjURI("Lb_lbOrganization",0,[],["NoTitle"]);var v {"edit" : "url ", "view"…

单行溢出 和多行溢出

/*单行溢出*/.one_txt_cut{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}.txt_cut{overflow : hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}转载于:https://www.cnblogs.com/smzd/p/8491583…

Spring方法注入 @Lookup注解使用

情景分析 在Spring的诸多应用场景中bean都是单例形式&#xff0c;当一个单利bean需要和一个非单利bean组合使用或者一个非单利bean和另一个非单利bean组合使用时&#xff0c;我们通常都是将依赖以属性的方式放到bean中来引用&#xff0c;然后以Autowired来标记需要注入的属性。…

Jupyter配置步骤

Jupyter是基于浏览器的可交互式开发工具&#xff0c;在数据科学界非常受欢迎&#xff0c;它功能齐全&#xff0c;使用方便&#xff0c;是一款数据分析和建模挖掘的利器。 本文简介Jupyter的配置和使用过程 一、修改添加国内镜像 通常我会先安装Anaconda&#xff0c;再安装Jupyt…

edittext 属性

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

定义高亮颜色

/*怎么定义高亮的颜色*/-webkit-tap-highlight-color: transparent;/*透明 其实就是不显示颜色*/-webkit-tap-highlight-color: red; 转载于:https://www.cnblogs.com/smzd/p/8491587.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. 修改…

学习的目的是什么?

学习的目的是为了掌握生存的常识和技能&#xff0c;以便独立地面对世界&#xff1b; 学习的目的是为了遵从生活的规范和律则&#xff0c;以便和谐地与人相处&#xff1b; 学习的目的是为了探索生命的价值和意义&#xff0c;以便有尊严地立于天地之间。 你觉得为什么要学习呢&am…

span里面插入文字

.text-box span::before{ content:attr(data-text);} 转载于:https://www.cnblogs.com/smzd/p/8491664.html

Spring Boot 动态注入的两种方式

通过Profilespring.profiles.active spring.profiles.active&#xff1a;官方解释是激活不同环境下的配置文件&#xff0c;但是实际测试发现没有对应的配置文件也是可以正常执行的。那就可以把这个key当作一个参数来使用 Profile&#xff1a;spring.profiles.active中激活某配…