python第六天(元组、字典、集合)
一、元组(tuple)
作用:存多个值,对比列表来说,元组不可变(是可以当做字典的key的),主要用来读
定义:与列表类型相比,只不过把[ ]换成()
age=(11,22,33,44,55)
print(age,type(age))
age=tuple((11,22,33,44,55))
print(age,type(age))
输出:
(11, 22, 33, 44, 55) <class 'tuple'>
(11, 22, 33, 44, 55) <class 'tuple'>
.count() #用于查找某个元素在元组中出现的次数
str=('this','is','string','is')
print('is元素的个数是:',str.count('is'))
输出:is元素的个数是:2
.index() #用于从元组中找出某个对象的第一个匹配项的索引位置,如果这个对象不在元组中会报一个异常
t=('google','runnoob','taobao')
print(t.index('taobao'))
输出:2
如果查找的对象不存在的话如下:
t=('google','runnoob','taobao')
print(t.index('111'))
#运行后台报错
指定位置查找
t=('google','runnoob','taobao')
print(t.index('taobao',0,3)) #骨头不顾尾
输出:2
二、字典
作用:存多个值,key-value,取值速度快
定义:key必须是不可变类型,value可以使任意类型
1、按key存取值:可存可取
dic={'剧情':1,'犯罪':10,'动作':8}
keys=list(dic.keys())
values=list(dic.values())
print(keys)
print(values)
输出:
['剧情', '犯罪', '动作']
[1, 10, 8]
增删改查
增:
dic={}
dic['age']=18
print(dic)
输出:
{'age': 18}
修改:
dic={'age':1}
dic['age']=18
print(dic)
输出:{'age': 18}
查询:
dic={}
dic['name']='yzn'
print(dic['name'])
输出:yzn
删除:
dic={}
dic['name']='yzn'
print(dic['name'])
del dic['name']
print(dic)
输出:{}
get取值:
dic={'a':10,'b':20}
res=dic.get('a')
print(res)
输出:10
#遇到不存在的key默认返回None,可以自定义返回值
dic={'a':10,'b':20}
res=dic.get('c','找不到值')
print(res)
输出:找不到值
增加:
dic={'a':10,'b':20}
dic.update({'c':10,'d':9})
print(dic)
输出:{'a': 10, 'b': 20, 'c': 10, 'd': 9}
dic={'a':10,'b':20}
dic.pop('a')
print(dic)
输出:{‘b’:20}
复制:
dic={'a':10,'b':20}
new_dic=dic.copy()
print(new_dic)
输出:{'a': 10, 'b': 20}
浅复制:浅复制之后,内部成员的地址还是原来的地址
d1={'list':[1,2]}
d2=d1.copy()
print(d1,id(d1),id(d1['list']))
print(d2,id(d2),id(d2['list']))
d1['list'].append('abc')
print(d1)
{'list': [1, 2]} 2400496217472 2400496259976
{'list': [1, 2]} 2400496217544 2400496259976
{'list': [1, 2, 'abc']}
随机删除: #返回的值是(key,value)
dic={'a':10,'b':20}
print(dic)
print(dic.popitem())
print(dic)
输出:
{'a': 10, 'b': 20}
('b', 20)
{'a': 10}
字典的循环(迭代)
dic={'a':10,'b':20,'c':30}
for k in dic:
print(k,dic[k])
输出:
a 10
b 20
c 30
单独显示key或value
dic={'a':10,'b':20,'c':30}
values=dic.values()
print(values)
keys=dic.keys()
print(keys)
输出:
dict_values([10, 20, 30])
dict_keys(['a', 'b', 'c'])
显示key-value键值对关系
dic={'a':10,'b':20,'c':30}
k_vs=dic.items()
print(k_vs)
输出:dict_items([('a', 10), ('b', 20), ('c', 30)])
三、集合(set)
1、单列数据集合:str,list,tuple,set 双列:dict
2、无序存储:无key无index,无法取值
3、可变数据类型,内部可以存放任意类型数据,但数据具有唯一性
交集
p_set={'a','b','c','egon'}
l_set={'x','y','z','egon'}
res=p_set & l_set
print(res)
输出:{'egon'
并集
p_set={'a','b','c','egon'}
l_set={'x','y','z','egon'}
res=p_set | l_set
print(res)
输出:{'egon', 'y', 'b', 'a', 'x', 'z', 'c'}
差集
p_set={'a','b','c','egon'}
l_set={'x','y','z','egon'}
res=p_set - l_set
print(res)
输出:{'b', 'a', 'c'}
对称差集
p_set={'a','b','c','egon'}
l_set={'a','y','z','egon'}
res=p_set ^ l_set
print(res)
输出:{'c', 'y', 'z', 'b'}
python第六天(元组、字典、集合)的更多相关文章
- python3笔记十八:python列表元组字典集合文件操作
一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ...
- python 列表 元组 字典 集合
列表 lst = [i for i in range(10)] 切片 # 把下标小于2的显示出来 print(lst[:2]) # 把10个数有大到小输出 print(lst[::-1]) # 把下标 ...
- Python 列表&元组&字典&集合
列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片.合并.删除等操作 可通过索引来向指定位置插入元素 可通过po ...
- Python列表,元组,字典,集合详细操作
菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ...
- python中列表 元组 字典 集合的区别
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...
- **python中列表 元组 字典 集合
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...
- python day4 元组/字典/集合类知识点补充
目录 python day4 元组/字典/集合类知识点补充 1. 元组tuple知识点补充 2. 字典dict的知识点补充 3. 基本数据类型set 4. 三元运算,又叫三目运算 5. 深复制浅复制 ...
- python_列表——元组——字典——集合
列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...
- 元组/字典/集合内置方法+简单哈希表(day07整理)
目录 二十三.元组内置方法 二十四.字典数据类型 二十五 集合内置方法 二十五.数据类型总结 二十六.深浅拷贝 补充:散列表(哈希表) 二十三.元组内置方法 什么是元组:只可取,不可更改的列表 作用: ...
- Python 全栈开发二 python基础 字符串 字典 集合
一.字符串 1,在python中,字符串是最为常见的数据类型,一般情况下用引号来创建字符串. >>ch = "wallace" >>ch1 = 'walla ...
随机推荐
- leveldb实现原理
LevelDb日知录之一:LevelDb 101 说起LevelDb也许您不清楚,但是如果作为IT工程师,不知道下面两位大神级别的工程师,那您的领导估计会Hold不住了:Jeff Dean和Sanja ...
- DB(1):SQLAPI catch [Bind variable/parameter 'pay_acc_id' not found] !!!
SQLAPI catch [Bind variable/parameter 'pay_acc_id' not found] !!! 出现这种报错,先检查命令类后面的参数是否混淆(SACommand s ...
- I/O模型系列之五:IO多路复用 select、poll、epoll
IO多路复用之select.poll.epoll IO多路复用:通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作. 应用:适用于针 ...
- .Net Core在Centos7上初体验
本文主要内容是简单介绍如何在centos7上开发.Net Core项目,在此之前我们首先了解下.Net Core的基本特性. 1 .Net Core和.Net FrameWork的异同 1.1 .Ne ...
- GDB调试技巧:总结篇
目录 一 写在开头 1.1 本文内容 二 学习资料 三 常用命令 四 调试技巧 注:原创不易,转载请务必注明原作者和出处,感谢支持! 一 写在开头 1.1 本文内容 总结GDB调试的一些常用命令和调试 ...
- IntelliJ IDEA打包WAR并部署运行(mac osx)将Web项目War包部署到Tomcat服务器基本步骤(完整版)
用IntelliJ IDEA做web开发体验很好,但导出war包比eclipse麻烦了不少,以下是解决方案: 打包:1.自动打包:File —> Project Structure —> ...
- 安卓ADB学习笔记
ADB(Android Debug Bridge)可以远程调试安卓设备,包括模拟器,可以进入终端模式(安卓本身相当于一个linux) 1.配置adb环境变量 以夜神模拟器为例,将模拟器安装路径里的bi ...
- linxu上安装mongodb3.6实战
根据linux 版本到官网下载对应mongodb版本 查看服务器版本:cat /proc/version 查看linux发行版本:cat /etc/redhat-release 我用的阿里云服务器,对 ...
- 1、IDEA的常用快捷键
一.常用的快捷键1.Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者/*...*/ )###2.Ctrl+D 复制行### 注意在MyEclipse中Ctrl+D的作用是删除行3.Ctrl ...
- GDAL create kml
新增kml 点 public void WriteKmlPiont() { string driverName = "KML"; //MapInfo File OSGeo.GDAL ...