元组


概念

元组:由一系列变量组成的不可变序列容器

序列:支持索引和切片

不可变:1.没有增删改的方法
2.所有的操作都不会直接作用于原数据

定义

<span style="font-size: 16px;" data-mce-style="font-size: 16px;">元组        tuple        ()

#1.定义多个数据的元组
tuple1 = (1,2.9,"3",[1,2,3],5)
tuple2 = 1,2.9,"3",[1,2,3],5
print(tup;e2) #(1,2.9,"3",[1,2,3],5)
print(type(tuple2)) #class tuple #2.定义单个数据的元组---&gt;单个数据后需要加逗号
#如果不加逗号,当前变量与元素的类型一致
tuple3 = ("2.3",)
print(tuple3) #("2.3")s索引<br></span>

索引

1 tuple1 = (1,2.9,"3",[1,2,3],5)
2 #索引
3 #元组[索引]
4 #从左往右,从0开始,从右往左,从-1开始
5 print(tuple1[3]) #[1,2,3]
6 print(tuple1[-3]) #"3"

切片

tuple1 = (1,2.9,"3",[1,2,3],5)

#切片
#元组[开始下标:结束下标:步长]
#1.取头不取尾
#2.步长不写默认为1,步长可以是正负数
#3.下标可以正负数混搭
#4.[:m] 从开头取到下标为m的前一位
#5.[n:] 从下标为n的位置取到最后
#6.[:] [::] 取整个元组
#7.[::-1] 反转
print(tuple1[1:4])
print(tuple1[-4:-1])
print(tuple1[1:-1])
print(tuple1[-4:4])
print(tuple1[:3])
print(tuple1[3:])
print(tuple1[:])
print(tuple1[::])
print(tuple1[::-1])

查询方法

index():统计元素在元组中第一次出现的位置的下标:如果元素不存在则报错
count():统计元素在元组中出现的次数:如果元素不存在则返回0

补充方法

tuple = ("hello",26,37,8,54,12,"hello",8,9)

#补充方法:

#len()
#语法:len(数据)
#作用:统计数据的长度:统计数据中元素的个数(集合具有唯一性)
print(len(tuple)) #in
#语法:元素 in 集合
#作用:判断元素是否在集合中存在,如果存在则返回True,否则返回False
print(540 in tuple)# False #not in
#语法:元素 not in 集合
#作用:判断元素是否不在集合中存在,如果不存在则返回True,否则返回False
print(540 not in tuple) #True #+
#元组 + 元组
tuple1 = (4,5,6)
print(tuple+tuple1) #*
#元组 * 数字
print(tuple1*3)

循环遍历元组

#循环遍历元组

tuple = (”玛卡巴卡“,”唔西迪西“)

#for 循环
#for 临时变量 in 循环遍历:
# 代码块 for i in tuple:
print(i) #while循环--->索引的范围: 0~len()-1
#初始值
#while 循环条件:
# 代码块
# 步长 num = 0
while num<= len(tuple)-1:
#通过索引取值 元组[索引]
print(tuple[num])
num += 1

集合


概念

由一系列不可变不重复的数据组成的可变容器

集合中只能存放不可变的数据类型的数据:整型、浮点型、字符串、元组

唯一性:集合中的元素具有唯一性,集合中的数据会自动被去重

无序性:集合中的元素具有无序性,不支持索引切片操作

可变:1.有增删方法
2.所有的操作会直接作用于原数据 集合为什么没有修改方法?
修改的思路:通过索引找到要修改的数据,重新赋值 集合具有无序性:无法定位到要修改的数据的位置,集合没有修改的方法

定义

集合        set         {}

#1.定义有数据的集合
set1 = {1,2.6,”3“,(1,2,3),6,6,1,”3“}
print(set1)
print(type(set1)) #2.定义空集合--->构造法 本质是数据类型转换 set()
str1 = ”“
list = []
tuple1 = ()
set1 = set()
print(set1)

增加数据的方法

#集合增加数据的方法

set1 = {1,2,3}

#add()
#语法:集合.add(不可变数据)
#作用:将数据作为一个整体添加到集合中
set1.add(10)
set1.add(5.6)
set1.add(”hello“)
set1.add((1,2,3))
print(set1) #update()
#语法:集合.update(可迭代对象)
#作用:将可迭代对象中的元素进行拆分,添加到集合中;要求可迭代对象中的元素必须是不可变数据
set1.update(”hello“)
print(set1)

删除数据的方法

# 集合删除数据的方法

set1 = {"hello",26,37,87,54,12,70,8,9}

# pop
# 语法:集合.pop()
# 作用:随机删除集合中的一个元素
set1.pop()
print(set1) # remove
# 语法:集合.remove(元素)
# 作用:从集合中删除指定元素;如果元素不存在则报错
set1.remove(700)
print(set1) #discard
#语法:集合.discard(元素)
#作用:从集合中删除指定元素:如果元素不存在不报错也不做任何删除操作
set.discard(870)
print(set1) # clear
# 语法:集合.clear()
# 作用:清空集合,集合仍然存在
set1.clear()
print(set1) # del
# 语法:del 集合
# 作用:删除整个集合,集合不存在;
del set1
print(set1)

补充方法

set1 = {"hello",26,37,8,54,12,"hello",8,9}

# 补充方法:

# len()
# 语法:len(数据)
# 作用:统计数据的长度;统计数据中元素的个数(集合具有唯一性)
print(len(set1)) # in
# 语法:元素 in 集合
# 作用:判断元素是否在集合中存在,如果存在则返回True,否则返回False
print(540 in set1) # not in
# 语法:元素 not in 集合
# 作用:判断元素是否不在集合中存在,如果不存在则返回True,否则返回False
print(540 not in set1)

交集和并集

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8} #交集 & 交叉重合的部分数据
print(set1&set2)#(4,5) #并集 | 将多个集合中的数据合并到一起(集合具有唯一性)
print(set1|set2)#(1,2,3,4,5,6,7,8)

字典


概念

由一系列键值对组成的可变映射容器

键值对:
可变:1.有增删改方法
2.所有的操作会直接作用于原数据 映射:键与值一一对应的关系

定义

字典        dict        {}

#定义字典

#1.直接定义字典
#语法:{键:值,键:值}--->键与值之间使用冒号隔开:键值对与键值对之间用逗号隔开
#键-key:name、age、height、address 键不重复且不可变:不可变的数据类型:整型、浮点型、字符串、元组;
#值-value:张三、18、189、北京某桥东下 值支持所有的数据类型
#键值对-item:”name“:”张三“
dict1 = {”name“:”张三“,”age“:18,”height“:18.9,(”address“):[”北京“]}
print(dict1)
print(type(dict1)) #2.构造法--->本质通过数据类型转换 dict(键=值,键=值)
dict2 = dict(name=”李四",gender=“女”,age=16)
print(dict2)
print(type(dict2))

增加和修改方法

dict1 = {”name“:“张三”,“age”:18}

#规则:有则修改,无则增加

#增加方法 修改方法
#语法:字典名[键] = 值
dict["phone"] = 110

删除方法

#删除方法

#1.clear()
#语法:字典名.clear()
#作用:清空字典,字典仍然存在
dict1.clear()
print(dict1) #2.del
#语法:del 字典名 del 字典名[键]
#作用:删除字典,字典不存在;删除指定键对应的键值对
del dict1[”name“]
print(dict1)

查询方法

dict1 = {”name“:”张三“,”age“:18}

#查询--->只能通过键找值,不能值找键

#1.直接查询
#语法:字典名[键]
#作用:通过键找值,如果键不存在则报错
print(dict1["age"]) #2.get()
#语法:字典名.get(键,默认值)
#作用:通过键找值,如果键不存在则返回None;可以给不存在的键设置默认值
print(dict1.get(”age“,110))

字典常用方法

#字典常用方法

dict1 = {“name”:“张三”,“age”:18}

#keys()
#语法:字典名.keys()
#作用:以列表的形式获取字典中所有的值
print(dict1.keys) #values()
#语法:字典名.values()
#作用:以列表的形式获取字典中所有的值
print(dict1.values()) #items()
#语法:字典名.items()
#作用:以列表的形式返回所有的键值对;键与对应的值存放在一个元组中,多个元组存放在列表中
print(dict1.items())

循环遍历字典

#循环遍历字典

dict1 = {“name”:“张三”,“age“:18}

#循环遍历获取字典中所有的键-->同时可以获取值
for i in dict1.keys():
print(i,dict1[i]) #循环遍历获取字典中所有的值
for i in dict1.values():
print(i) #循环遍历获取字典中的键值对
#[("name","张三")("age",18)]
#使用一个临时变量接收结果 i就是元组(键,值)
for i in dict1.items():
print(i) #使用两个临死变量接收结果 i接收所有的键,j接收所有的值
for i,j in dict1.items():
print(j)

python基础-元组-集合-字典的更多相关文章

  1. 『Python基础-10』字典

    # 『Python基础-10』字典 目录: 1.字典基本概念 2.字典键(key)的特性 3.字典的创建 4-7.字典的增删改查 8.遍历字典 1. 字典的基本概念 字典一种key - value 的 ...

  2. Python基础知识(五)------字典

    Python基础知识(四)------字典 字典 一丶什么是字典 ​ dict关键字 , 以 {} 表示, 以key:value形式保存数据 ,每个逗号分隔 ​ 键: 必须是可哈希,(不可变的数据类型 ...

  3. Python—列表元组和字典

    Python-列表元组和字典 列表 元组 字典 列表: 列表是Python中的一种数据结构,他可以存储不同类型的数据.尽量存储同一种类型 列表索引是从0开始的,我们可以通过索引来访问列表的值. 列表的 ...

  4. python基础数据类型--集合(set)

    python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...

  5. Python基础数据类型之字典

      基础数据类型之字典 ps:数据类型划分:可变数据类型和不可变数据类型. 不可变数据类型:元组(tupe).布尔值(bool).整数型(int).字符串(str).不可变数据类型也称为可哈希. 可变 ...

  6. python基础08_set集合

    关于前几次课的回顾: #!/usr/bin/env python # coding:utf-8 ## 字符串 数字 列表 元组 字典 ## 可变:列表 字典 ## 不可变:字符串, 数字, 元组 na ...

  7. python基础——数字&集合&布尔类型

    Python的核心数据类型 内置对象 对象类型 例子 数字 123,3.1415,3+4j,Decimal(小数),Fraction(分数) 字符串 'dodo',"guido's" ...

  8. 01.Python基础-3.集合容器

    1 列表list 1.1 列表介绍 Python内置的一种数据类型是列表:list. 有序的集合,可随时添加和删除其中的元素. 每个元素都分配一个数字 --它的位置,或索引.0,1,2,3-- 可存放 ...

  9. python基础-3 集合 三元运算 深浅拷贝 函数 Python作用域

    上节课总结 1 运算符 in 字符串 判断  : “hello” in "asdasfhelloasdfsadf" 列表元素判断:"li" in ['li', ...

  10. python基础dict,集合,文件

    字典是一种key:value的数据类型dict1{ 'stud1':'孙礼昭', 'stud2':'slz', 'stud3':'sunlizhao',}dict是无序的,key是唯一的  天生去重增 ...

随机推荐

  1. python语言实现_通过端口转发实现跨网络(多网络之间)通信_science_network

    本文使用python语言实现了一个端口转发的程序,该程序可以实现多网络之间的信息通信,当然这里有个前提,那就是多个网络都在一台主机上有可以连通的端口. 之所以有这个编写代码的需求,是因为最近使用的sc ...

  2. 如何在 Epicor 中计算绩效

    制造性能是任何生产工序的关键,允许企业衡量和评估其效率和生产力水平. 我们将探讨如何在 Epicor 中计算制造性能.计算整体设备效率(OEE) 时性能指标的价值.如何解释制造指标以及在 Epicor ...

  3. 在CodeBolcks+wxWidgets下的C++编程教程——用向导创建一个wxWidgets项目(xTetris)

    0.前言 我想通过编写一个完整的游戏程序方式引导读者体验程序设计的全过程.我将采用多种方式编写具有相同效果的应用程序,并通过不同方式形成的代码和实现方法的对比来理解程序开发更深层的知识. 了解我编写教 ...

  4. ksmbd 条件竞争漏洞挖掘:思路与案例

    ksmbd 条件竞争漏洞挖掘:思路与案例 ksmbd 条件竞争漏洞挖掘:思路与案例.drawio 本文介绍从代码审计的角度分析.挖掘条件竞争.UAF 漏洞思路,并以 ksmbd 为实例介绍审计的过程和 ...

  5. 当年的毕设-cpf (一个简易的协议 fuzzer)

    整理文件时发现了这个,看是否有人需要... https://github.com/hac425xxx/cpf/ cpf 一个简单的协议Fuzz工具. 毕设答辩胶片&演示视频 https://g ...

  6. CHDFS 安全便捷的大数据访问体验

    一.背景 云 HDFS(Cloud HDFS,CHDFS)是腾讯云提供的支持标准 HDFS 访问协议.卓越性能.分层命名空间的分布式文件系统. CHDFS 主要解决大数据场景下海量数据存储和数据分析, ...

  7. 中电金信:金Gien乐道 | 4月要闻速览,精彩再回顾

    ​ 中国电子党组副书记.总经理李立功一行调研中电金信 ​ 4月10日,中国电子党组副书记.总经理李立功一行赴中电金信进行调研,深入听取了中电金信经营发展情况.研发工作及"源启"行业 ...

  8. Iframe标签显示目标网页的指定区域,视频可全屏可缩小

    由于播放的直播视频有多余的logo和聊天框等所以需要去掉,用Iframe标签显示目标网页的指定区域,视频可全屏可缩小 用自己私人的服务器来测试吧,99买阿里云 HTML代码 <html> ...

  9. Qt/C++路径轨迹回放/回放每个点信号/回放结束信号/拿到移动的坐标点经纬度

    一.前言说明 在使用百度地图的路书功能中,并没有提供移动的信号以及移动结束的信号,但是很多时候都期望拿到移动的哪里了以及移动结束的信号,以便做出对应的处理,比如结束后需要触发一些对应的操作.经过搜索发 ...

  10. Qt开源作品17-IP地址输入控件

    一.前言 这个IP地址输入框控件,估计写烂了,网上随便一搜索,保证一大堆,估计也是因为这个控件太容易了,非常适合新手练手,一般的思路都是用4个qlineedit控件拼起来,然后每个输入框设置正则表达式 ...