序列类型(元组()、列表[]、字符串““)、集合类型({}、set())

news2024/9/20 14:36:21

 序列类型

        组合数据类型能够将多个同类型或不同类型的数据组织起来 ,通过单一的表示使数据操作更有序更容易。根据数据之间的 关系,组合数据类型可以分为三类:

                序列类型、集合类型和映射类型。

        • 序列类型是一个元素向量,元素之间存在先后关系通过序号访问元素之间不排他(不排他即允许有重复的)

        • 集合类型是一个元素集合,元素之间无序,相同元素在集合中唯一存在。

        • 映射类型是“键-值”数据项的组合,每个元素是一个键值对,表示为(key, value)。 

 元组:()  列表:[]  字符串:' '或" "

        由于元素之间存在顺序关系,所以序列中可以存在相同数值但位置不同的元素。

        序列类型支持成员关系操作符 :

                in操作:可以判断元素是否在序列中

                len():长度计算函数

                分片([])操作:元素本身也可以是序列类型,通过下标访问元素。 

        Python语言中有很多数据类型都是序列类型,其中比较 重要的是:

                str(字符串)、tuple(元组)和list(列表)。

         •组是包含0个或多个数据项的不可变序列类型。元组生成 后是固定的,其中任何数据项不能替换或删除。

         •列表则是一个可以修改数据项的序列类型,使用也最灵活 

s="abcdefg"
l=[[],[],"abcd"]
print(len(s))
print(s[0:3:2])
print(s.index('a'))#序列中第一次出现此元素的位置
print(s.count('a'))#序列中该元素出现的次数
if 'a' in s:

 

 s.index(x[,i[,j]]):

        序列s中从i开始到j位置中第一次出现元素x的位置

s.count(x):

        序列s中出现x的总次数 

元组 

        元组(tuple)是序列类型中比较特殊的类型,因为它一 旦创建就不能被修改。元组类型在表达固定数据项、函数多 返回值、多变量同步赋值、循环遍历等情况下十分有用。

        Python中元组采用逗号圆括号(可选)来表示。 

#没有小括号的元组
x = 1, 2, 3, 4, 5
for i in x:
    print(i)

#有小括号的元组
x = (1, 2, 3, 4, 5)
for i in x:
    print(i)

#定义函数,用*b接受元组(2,3,4,5)
def f(a, *b):
    for i in b:
        a += i
    return a, b
    #返回一个元组,(a,b),而b也是一个元组

#2,3,4,5是元组
m, n = f(1, 2, 3, 4, 5)
print(m, n)

集合类型 (大括号{},没有索引操作)

        集合类型与数学中集合的概念一致,即包含0个或多个数据项的无序组合。集合中元素不可重复,元素类型只能固定数据类型,例如:整数、浮点数、字符串、元组等, 列表、字典和集合类型本身都是可变数据类型不能作为集合元素出现。

        由于集合是无序组合,它没有索引和位置的概念,不能分片,集合中元素可以动态增加或删除。集合用大括号({}) 表示,可以用赋值语句生成一个集合。 

#集合用大括号表示,可以放整数型,字符型,浮点型,元组
n={1,2,3,'a','b',12.3,(1,2,3)}
print(n)

set函数:

        可以把其他组合类型转换成集合类型

        由于集合元素是无序的,集合的打印效果与定义顺序可以 不一致。由于集合元素独一无二,使用集合类型能够过滤掉重复元素。set(x)函数可以用于生成集合。

l=(1,1,2,2,3,4,5)
#集合取消重复元素
s=set(l)
print(s)

 注意:可以利用转换集合操作过滤掉重复元素

 集合练习:

        重复元素判定。编写一个函数,接受元组作为参数,如果一个元素在元组中出现了不止一次,则返回True,但不要改变原来元组的值。同时编写调用这个函数和测试结果的程序。

def f(*t):#用*标识能接收多个参数
    if len(t)>len(set(t)):
        return True
    else:
        return False
if f(1,1,2,3):
    print("repeat")
else:
    print("no repeat")

 

 &:交集  ^:两个集合中不是共同的元素  |:并集

 集合中的方法:

 s.add(x):往集合中添加元素

        注意:空集合的创建不能通过大括号直接创建 

s = set()#空集合不能通过大括号来创建
try:
    a = input()
    while a != '':
        s.add(eval(a))
        a = input()
except NameError:
    print("请输入数字")
print(s)

s.clear():清空集合的元素

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

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

相关文章

Centos8安装CDH解决不兼容问题

问题 我的配置 系统: centos8 安装包: CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz manifest.json 在 http://192.168.1.1:7180/ 上通过web分配percel时分配…

Python实现基于内容的协同过滤推荐算法构建电影推荐系统

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 基于内容(Content Based,CB)的推荐算法,根据用户过去是一段时间内喜欢的物品,由…

DHTMLX Spreadsheet JavaScript Pro 5.0

Spreadsheet — Web-Based Spreadsheet Solution 破解版DHTMLX Spreadsheet is a framework-agnostic JavaScript solution that allows you to quickly add an editable Excel-like spreadsheet on a web page. Unlike online services, DHTMLX Spreadsheet allows you to st…

Windows x64隐藏可执行内存

文章目录实现效果实现原理VAD内存什么是VAD内存查看VAD内存VAD属性VAD内存可利用的点x64分页机制W7 x64下任意地址PDT PTE算法W10 x64定位随机化页表基址实现隐藏可执行内存隐藏内存对抗实现效果 驱动程序在Test进程中申请一块内存地址并打印,然后控制台程序在接收到…

Web中的Bias(更新中)

目录前言数据偏见对人们的影响衡量偏见活跃偏差或少数人的智慧数据偏见其他参考文献前言 本文参考Ricardo Baeza-Yates 2018年发表在《Communications of the ACM》的论文Bias on the Web,论文旨在提高人们对网络使用和内容中存在的偏见对我们所有人造成的潜在影响…

Methyltetrazine-PEG4-NHS ester,甲基四嗪PEG4琥珀酰亚胺酯

一:产品描述 1、名称 英文:Methyltetrazine-PEG4-NHS ester 中文:甲基四嗪-四聚乙二醇-琥珀酰亚胺酯 2、CAS编号:1802907-92-1 3、所属分类:Tetrazine 4、分子量:533.54 5、分子式:C24H3…

qt单线程实现顺序事件的处理不卡顿技巧(IDE开发)

需求: 我现在是这样的需求,我正在开发一款嵌入式IDE中,编辑器中光标改变,右侧的符号大纲能对应的改变选中项。 这里的过程是这样的,鼠标位置改变事件函数里,通过光标行号,计算得到当前处于的符…

通过私钥连接腾讯云,实现免密远程登录

一、创建 SSH 密钥 系统提示不会保存私钥,要求用户在 10 分钟之内自行下载私钥,要保存在本地电脑和邮箱里面备用。 二、绑定密钥到云服务器 勾选刚才创建的 SSH 密钥,点击上面的绑定云主机,弹窗中要先找到你云主机的地域&#x…

【计算机毕业设计】74.家教平台系统源码

一、系统截图(需要演示视频可以私聊) 摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐…

CentosLinux 6.5安装教程

、开始安装Centos6.5:我们选择“inistall system with basic video driver” 注意:这是一种精简系统的安装模式: 1.安装或升级现有的系统; 2.安装系统并使用基本的显卡驱动; 3.进入系统修复模式; 4.从硬盘…

[附源码]Python计算机毕业设计SSM竞赛报名管理系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【计算机毕业设计】基于jsp网上书店(源代码+论文)

网上书店系统 1.需求分析。 参考设计要求,及可行性的分析,我们确定了如下的需求: 1.数据库设计科学合理。 2.网站主页面简洁美观,可以天蓝色为主色调。 3.网站主页显示各个分类的及总的畅销表、新书榜、推荐榜,显…

Allegro如何锁定器件操作指导

Allegro如何锁定器件操作指导 Allegro上可以锁定器件,避免误操作被移动,具体操作如下 选择fix命令 Find选择Symbols 框选需要锁定的器件 可以看到器件被锁住了 除了这个方法之外,还有另外一种方法锁定器件,选择edit-property Find选择Symbols

ADSP-21569/ADSP-21593的开发入门(中)

ADSP-21569/21593的软件准备 安装CCES软件,我装的是2.10.1,官网可以下载,我也可以提供。软件安装没什么可说的,全部下一步,软件的试用跟注册可以单独联系我。 https://www.analog.com/cn/design-center/evaluation-h…

做短视频创业之前必须确定的内容:变现形式,短视频玩法和人设定位

做短视频创业之前必须确定的内容:变现形式,短视频玩法和人设定位。这是短视频的根基,打好基础才能更好的实现盈利目标。 开始做短视频的时候,走了很多弯路,这段时间总结了之前的经验教训,结合在我赢助手上…

【编程题】【Scratch四级】2022.09 班级成绩处理

班级成绩处理 三年级1班有36个小朋友,某次数学考试,同学们的成绩在78-100之间,求出该班学生的平均分和成绩优秀的人数(成绩大于85分)。 1. 准备工作 (1)默认小猫角色,默认白色背景…

Python学习基础笔记二十一——迭代器

列表,我们使用for循环来取值,我们把每个值都取到,不需要关心每一个值的位置,因为只能顺序的取值,并不能跳过任何一个去取其他位置的值。那么我们为什么可以使用for循环来取值,for循环内部是怎么工作的呢&am…

【力扣算法简单五十题】17.路径总和

给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶子节点 是指没有子节点…

模仿Spring注入接口的代理类全过程

前言 在使用mybatis或者openFeign时只定义了一个接口类,并无实现类,可以把接口注入到service中并且能调用方法返回值。一个接口并无实现类,为什么可以实例化并且交给了spring管理。mybatis,OpenFeign又是怎么实现的?接…

生物化学 核磁共振 氢谱 n+1定律 邻碳耦合 同碳耦合

核磁共振氢谱 基础 自旋量子数 自旋为S的粒子,取向的范围为[-S,S],但是需要间隔1。比如质子的自旋为1/2,则有-1/2 ,1/2两个取向。取值的个数等于在外加磁场的情况下能够分裂的能级的个数。但是质量数和原子序数都为0的原子(C12,O16C^{12},O^{16}C12,O1…