Python基本数据类型之列表、元组、字典、集合及其魔法
列表
1.列表可存放任何东西,并且可修改
2.列表有序
3.列表支持索引与切片
4.支持for,while循环,所以列表为可迭代对象
5支持in操作,判断元素是否在列表中
6可多重索引嵌套列表
7.字符串可以转换为列表list():因为其内部使用的是for循环#两者为可迭代对象
8.数字不可转列表:不能用for循环,因为数字非可迭代对象
9列表转字符串
有数字、字符串 | 自己使用for循环 |
只有字符串 | ‘’.join() |
列表的灰魔法
1.li.append() :在原来值后添加
2.li.clear() :清空列表
3.v = li.copy() :浅拷贝
4.v = li.count() : 计算列表内指定元素的个数,不填参数(列表内元素)就报错
5.li.extend() : 执行for循环用append添加 参数必须是可迭代
6.li.index(): 根据参数获取当前值的索引位置(左边优先)
7.li.insert(n1,n2): 在指定索引位置插入元素 n1为位置,n2为元素
8.删除
v = li.pop() | 删除某个值,并获取删除值可加索引(默认最后一个) |
li.remove() | 删除列表中指定元素,左边优先 |
del li【】 | 根据索引删除 |
9.li.reverse() :将当前列表进行反转
10.li.sort() : 列表排序 从小 到 大
li.sort(reverse =true) :列表排序从大 到 小
元组
tuple
1.元素不可被修改、增加、删除
2.元素有序
3.可索引、切片
4.可for循环、为可迭代对象
5.字符串、列表、元组间可转换 tuple()
6.一般写元组时,推荐在最后加入,
元组的一级元素不可修改,但一级元素下的二级元素(非元组)可修改
元组的灰魔法
1.count():获取元素在元组中出现次数
2.index():获取元素在元组中的位置
字典
dict
1.字典是无序的!
2.字典的值可任意
3.字典支持索引、切片
4.不可while循环,可for循环
5.字典的key不可是列表、字典、布尔。若key重复则key不显示
字典的灰魔法
info = {}
1.for item in info() = for item in info.keys() 默认循环key
2.for k,v in info.items 循环key , values 进入k,v
3.get
v = info.get('k1',111) 根据key取值 ,若key不存在返回111,默认返回None
4.update
info.update({'k1' = '111','k2' = 122}) 更新(修改)值
或者 info.update(k1 = 123,k2 = 252)
5.frokeys
静态引用
v = dict.fromkeys(['k1',123],123) 根据序列,创建字典,并制定统一值 即key:‘k1’、123的值为123
6.pop
v = info.pop('k1',90) 删除并获取值,若无则获取制定值90,若无则None
k,v = info,popitem() 删除并获取key and values
7.setdefalut : 设置值;若存在,不设置,获取当前key对应值
若不存在,设置,并获取当前key对应值
8.
集合
set
1.集合由不同元素组成,有去重的功能
2.集合内元素无序
3.集合中元素必须是不可变类型
4.书写格式{,}
5。set() 转换为集合类型
集合的灰魔法
1.add()增加元素,但只加一个
2.clear()清空集合内的所有元素
3.s1 = s.copy( ) 复制s集合的元素给s1
4.s.pop() 随机删除集合内元素
5.指定删除
s.remove() |
删除元素不存在会报错 |
s.discard() | 删除元素不存在不会报错 |
6.求交集
s1 & s2 或者 s1.intersection(s2)
7.求并集
s2 | s1 或者 s2.union(s1)
8.求差集
s2 - s1 = s2.difference() 求的是存在于s2但不存在于s1
9.交叉补集:s1 于s2 交集的外部
s1 ^ s2 = s1 .symmetric_difference()
10.difference_update() :做完差集再更新
s1.difference_update(s2) 与 s1 = s1 - s2 相同
11.isdisjoint
s1.isdisjoint(s2) 若有交集返回true
12.issubset 判断是否子集
issuperset 判断是否父集 是则Tru
13.update
如:s1.update(s2) 更新多个值到s1 (需可迭代对象)
14.s = frozenset(‘helllo’)
定义一个不可变的集合
15.简单去重
names = [ 's1','s2','s3']
names = list(set(names))
Python基本数据类型之列表、元组、字典、集合及其魔法的更多相关文章
- Python入门基础学习(列表/元组/字典/集合)
Python基础学习笔记(二) 列表list---[ ](打了激素的数组,可以放入混合类型) list1 = [1,2,'请多指教',0.5] 公共的功能: len(list1) #/获取元素 lis ...
- **python中列表 元组 字典 集合
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...
- python中列表 元组 字典 集合的区别
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...
- python3笔记十八:python列表元组字典集合文件操作
一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ...
- python_列表——元组——字典——集合
列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...
- python的学习笔记01_4基础数据类型列表 元组 字典 集合 其他其他(for,enumerate,range)
列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ...
- python基础之02列表/元组/字典/set集合
python中内置的数据类型有列表(list)元组(tuple)字典(directory). 1 list list是一种可变的有序的集合.来看一个list实例: #第一种方法: >>&g ...
- Day 07 数据类型的内置方法[列表,元组,字典,集合]
数据类型的内置方法 一:列表类型[list] 1.用途:多个爱好,多个名字,多个装备等等 2.定义:[]内以逗号分隔多个元素,可以是任意类型的值 3.存在一个值/多个值:多个值 4.有序or无序:有序 ...
- python 中列表 元组 字典 集合的区别
先看图片解释 (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复 ...
- python的对象类型-----列表&元组&字典
列表: #定义列表 l=[1,'a',[3,4]] #l=list([1,'a',[3,4]]) #取值 print(l[0]) print(l[2][0]) l=[1,2,[['a','b'],'c ...
随机推荐
- jquery实战---标签页效果
在前面的博客中,小编主要简单的介绍了jquery的一些基本知识,今天这篇博文,小编继续来学习jquery的相关知识,今天我们来学习一个标签页的小例子,相关源码小编已经上传,有需要的小伙伴可以自己去下载 ...
- Dynamics CRM2013 去除界面顶部黄色的CRM For Outlook条框
Dynamics CRM2013中每次打开系统页面上方都会有个黄条看着很是烦人,效果如下图 庆幸的是系统提供了关闭的开关,设置-管理-系统设置,把"设置CRM For Outlook消息是否 ...
- 如何启用Oracle EBS Form监控
前言: 有时候,因某些需要,必须知道Oracle的Form被使用的情况,以方面我们做出决策: 例如,如果某个Form被使用的次数非常多,那么,这个Form的相关SQL代码就应该优先处理,以减少服务器负 ...
- 在go中使用json作为主要的配置格式
最近在用go重构,在先前的代码中,我们使用的ini文件进行配置,但是因为很多历史遗留问题,导致配置混乱,维护困难,自然也需要考虑重构了. 通用配置格式 通用的配置格式有很多,常用的就有ini,json ...
- 转换xml格式的短信记录
<?xml version="1.0" encoding="UTF-8"?> <SMSRecord> <SMS> ...
- 【Unity Shaders】Using Textures for Effects——让sprite sheets动起来
本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...
- 敏捷测试(2)--ATDD概念
什么是验收测试驱动开发 在准备实施一个功能或特性之前,首先团队需要定义出期望的质量标准和验收细则,以明确而且达成共识的验收测试计划(包含一系列测试场景)来驱动开发人员的TDD实践和测试人员的测试脚本开 ...
- Android官方技术文档翻译——Gradle 插件用户指南(4)
最近赶项目,白天基本没时间,只有晚上在家的时候才能看一看.昨天晚上只翻译完了第四章,今天就只发第四章吧. 本文译自Android官方技术文档<Gradle Plugin User Guide&g ...
- Salesforce 官方扫盲自学导航
Force.com Platform Fundamentals(新手入门的葵花宝典)www.salesforce.com/us/developer/docs/fundamentals/index_Le ...
- AngularJS进阶(二)AngularJS路由问题解决
AngularJS路由问题解决 遇到了一个棘手的问题:点击优惠详情时总是跳转到药店详情页面中去.再加一层地址解决了,但是后来发现问题还是来了: Could not resolve 'yhDtlMain ...