首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Python】元组 tuple ① ( 元组 tuple 简介 | 元组不可修改 | 元组定义 | 定义只有一个元素的元组 | 元组嵌套 )

" ; 数据封装 : 元组 中可以 封装 多个 不同类型 的元素 , 该功能与 列表 相同 ; 不可修改 : 元组 一旦定义初始化完成 , 其中的数据就不可更改 ; 元组 可以被理解为 只读 List...列表 ; 2、元组定义 元组 使用小括号 () 定义 , 多个数据元素之间 , 使用逗号隔开 ; 元组 中的 数据元素 可以是 相同数据类型的 , 也可以是 不同数据类型的 ; 元组字面量 定义语法 :...定义只有一个元素的元组 , 需要在这唯一的元素后面加上一个逗号 , 这个逗号必须存在 ; 定义只有一个元素的元组语法 : 元组变量 = (元素,) 如果在这唯一的元素后面没有逗号 , 则定义的就不是元组...; 在下面的代码中 , 如果 唯一的元素后面没有 逗号 , (“Tom”) 变量被当做了 字符串 类型 ; 代码示例 : # 定义单个元素元组变量 t4 = ("Tom",) # 打印 元组变量 信息...元组 中的 元素 数据类型 不限制 , 因此 元组 中也可以存放 元素 类型数据 , 也就是 元组嵌套 ; 代码示例 : # 元组嵌套 t6 = (("Tom", 16), ("Jerry", 18)

21840

【Python】元组 tuple ② ( 元组常用操作 | 使用下标索引取出元组中的元素 | 查找某个元素对应的下标索引 | 统计某个元素个数 | 统计所有元素个数 )

一、元组常用操作 1、使用下标索引取出元组中的元素 - [下标索引] 使用下标索引取出 元组 tuple 中的元素 的方式 , 与 列表 List 相同 , 也是将 下标索引 写到中括号中 访问指定位置的元素...# 输出: Jerry # 定义元组变量 t1 = (("Tom", 18), ("Jerry", 16)) # 打印 嵌套元组 中的元素 print(t1[1][1]) # 输出: 16 执行结果...: Jerry 16 2、查找某个元素对应的下标索引 - index 函数 调用 tuple#index 函数 , 可以查找 元组 中指定元素 对应的下标索引 ; 函数原型如下 : def index...print(index) 执行结果 : 2 3、统计某个元素的个数 - count 函数 调用 tuple#count函数 , 可以统计 元组 中指定元素 的个数 ; 函数原型如下 : def...t0.count("Tom") # 打印查询结果 print(count) 执行结果 : 2 4、统计元组中元素的个数 - len 函数 调用 len(元组变量) 函数 , 可以统计 元组 所有元素

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python修改元组中的元素方法有哪些

    上节课也介绍过,元组是不可变的数据类型,所以我们没有办法对他的内部元素进行诸如修改,删除和增加操作,但是语言就是这么神奇,不可以对元组本身操作,还可以把元组操作之后的结果重新存储成一个新的元组,这样不就能丰富元组的操作了吗...,所以虽然都叫做tup1但是其实是两个不同的元组,而第三个我们直接修改下标为1的元素后出现类型错误,说明元组内部元素不能修改。...再来删除元组中的元素试试。...---- 三、元组拼接 既然元组中元素不可变,那么我们把两个元组进行拼接试试返回的是不是一个新元组。...,但是打印原来的元组还是没有变化,说明返回的元组是一个新元组。

    1.6K10

    小议Python列表和元组中的元素地址连续性

    今天的话题是列表和元组中的元素到底是不是连续存储的。了解C语言的朋友都知道,数组是连续存储的,所以可以下标来直接访问其中任意位置上的元素。...也就是说,x=3这样一个语句执行的过程实际上是先把数字3放入内存合适位置,然后再让变量x引用这个地址(类似于指针)。这一点同样适用于任何类型的变量,也适用于列表或元组中的元素。...也就是说,列表或元组中的元素实际上存储的是值的引用,而不是直接存储值。 因此,说列表或元组中元素是连续存储或不连续存储都是有道理的。...列表中的元素是连续存储的,所以支持下标操作和切片,但这些元素引用的地址却在绝大多数情况下是不连续的。...9331 : 2036619875056 5348 : 2036619875088 4738 : 2036619875120 3182 : 2036619875024 或者说,可以用下图来表示列表和元组中元素的连续性

    4.8K100

    【python高级编程】namedtuple用法--给元组中的每个元素命名

    参考链接: Python中的命名元组Namedtuple 为什么要给元组中的每个元素命名  给每个元组中的元素命名,我们就可以使用名字去访问对应元素,相对于索引访问,这样可以大大提高程序的可读性。 ...是collections模块中的一个工厂函数,使用此函数可以创建一个可读性更强的元组。...在使用普通的元组时,我们只能通过索引下标去访问对应元素,而namedtuple,我们既可以使用索引下标去访问,也可以通过名字去访问,增加了代码的可读性。 ...另外,我们也不用去考虑性能问题,因为具名元组和普通元组所需要的内存空间相同。  下面我们来看namedtuple方法的参数。...field_names: 参数类型为字符串序列,用于为创建的元组的每个元素命名,可以传入像[‘a’, ‘b’]这样的序列,也可以传入'a b'或'a, b'这种被分割字符分割的单字符串,但必须是合法标识符

    2.8K40

    Python元组tuple“删除”元素的两种函数代码设计

    元组tuple删除元素的方法实际上,Python的tuple元组内的元素是不能被修改的,因此也是无法被删除的,但是,为了移除Python元组tuple内的某些元素,以获得一个新的元组,还是有其办法存在的...比如,我们可以使用for循环添加的方法,来创建一个不包含那些需要被移除的元素的新元组。...Python中元组添加元素的内置方法为add()方法,实际上,该方法也是返回一个新的元组,并没有对调用对象——原元组进行修改,除此之外,也可以将元组转换为list,然后使用append()方法来添加元素...元组tuple删除元素的函数代码设计下面的实例将设计两个函数,分别使用add()方法和append()方法来为一个新的元组添加不包含要被删除的元素的元素,其中,要被删除的元素可以通过函数的可变参数传递,...tuple“删除”元素的两种方法免责声明:内容仅供参考,不保证正确性。

    32921

    FastAPI从入门到实战(1)——Python类型提示

    str 元组和集合 元组(tuple)与列表类似,不同之处在于元组的元素不能修改。...元组写在小括号(())里,元素之间用逗号隔开,元组中的元素类型可以不相同; tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 ) tinytuple = (123..., 'runoob') print (tuple) # 输出完整元组 print (tuple[0]) # 输出元组的第一个元素 print (tuple[1:3]) # 输出从第二个元素开始到第三个元素...print (tuple[2:]) # 输出从第三个元素开始的所有元素 print (tinytuple * 2) # 输出两次元组 print (tuple + tinytuple) # 连接元组...集合(set)类似于数学中的集合:是一组key值,不包含重复元素,同时也是可变的、无序的、有限的集合,其元素是唯一的、不可变的。

    87420

    提高元组的访问效率 and 统计一个序列中元素出现的频度

    二、提高元组的访问效率 1.1 问题引入 我们一般访问python中数据结构的时候都是通过其数组下标进行访问的,元组,列表,集合等等都是的,但是如果数据比较杂乱,我们要改怎样处理呢?...gorit@qq.com') print(stu1.name) print(stu1.age) print(stu1.gender) print(stu1.emil) image.png 三、统计序列中元素出现的频度...2.1 场景再现 1、给定一个某随机序列[11,22,33,2,3,2,2,4,5,1,…],找到出现次数最高的三个元素,它们出现的次数是多少?...2、统计四六级考试中阅读题中出现频率最高的10歌词,它们出现的次数是多少 2.2 常用方法 我们先创建一个随机数列 from random import randint data = [randint...(0,20) for _ in range(1,21)] 我们的目的是统计数据,所以就需要用字典来存储,键代表数字,值代表出现的次数,最后用循环迭代,就可以统计出我们需要的数据,看下面这段代码 from

    29610

    Python编程常见出错信息及原因分析(2)

    不过,这种错误又比较明显,因为一般是'NoneType' object has no attribute......,这里的'NoneType'是个很好的提示。...,因为作为Python程序员我们肯定知道元组和字符串是不可变的容易对象,是不允许修改其中元素值的,也不允许删除其中的元素。...遇到这种错误时,一般是调用了其他函数或方法而不知道该函数或方法返回的是元组或字符串或其他不可变容易对象,应仔细检查出现错误的代码之前的函数或方法调用代码。...、字符串和range对象支持使用整数作为下标去访问指定位置上的元素值;列表支持使用整数作为下标去修改指定位置上的元素值;字典支持使用指定的键去访问或修改对应的值。...集合不支持使用下标或键访问其中的元素。map、filter、enumerate、zip等对象也不支持使用下标访问其中的元素值。

    3.3K70

    Python正则表达式

    num的特定子组 groups 返回一个包含所有匹配子组的元祖(没有成功,返回空元组) groupdict 返回一个包含所有匹配的命名子组的字典,所有的子组名称作为字典的键 常用的模块属性 re.I...groups()则仅返回一个包含唯一或者全部子组的元组。如果没有子组的要求,那么当group()仍然返回整个匹配时,groups()返回一个空元组。...).group() Traceback (most recent call last): File "", line 1, in AttributeError: 'NoneType...).group() Traceback (most recent call last): File "", line 1, in AttributeError: 'NoneType...subn()和sub()一样,但是subn()还返回一个表示替换的总数,替换后的字符串和表示替换总数的数字一样一起作为一个拥有两个元素的元组返回。

    1.6K90

    理解Python中的NoneType对象

    在第2行条件判断中,并没有显式地写some_result is None,这是因为None本身就是假,与之类似,下面的这些对象也是假: 空列表 空字典 空元组 空字符串 0 False 在Python中...,返回了一个列表,列表中只有一个元素。...第3行再次调用的时候,同样也没有给starter_list提供值,它依然应该是原有列表——注意观察定义函数时的参数。但是,返回值是在上一次调用返回结果中增加了新元素。...None作为值 什么时候None可以作为一个有效的输入对象呢?例如在前面定义的good_funciton函数中,是否可以用None作为列表中的元素?...即NoneType类型: >>> type(None) NoneType'> 它是Python内置的类型之一。

    13.4K41

    为什么说“单元素的枚举类型已经成为实现Singleton的最佳方法”

    预计阅读时间:10分钟 Joshua Bloch大神在《Effective Java》中明确表达过的观点:使用枚举实现单例的方法虽然还没有广泛采用,但是单元素的枚举类型已经成为实现Singleton...的最佳方法。...如上图所示,使用Double-Check方式书写的单例实例对象被成功修改,以上的几种方式都存在这种问题,那么有没有一种方式不存在上述问题呢?...不止简单,还成功避免了上述问题,而且能保证在反序列化的时候不会生成新的实例对象,以下是枚举方式反编译(使用javap命令)的字节码: javap Singleton.class Compiled from...如上,会报错,而且目前没有任何方法能绕过该限制,以下是jdk的newInstance方法的源代码,如果是ENUM类型则不允许使用反射(红色标注部分),看到这里大家应该明白为什么枚举方式能保证单例实例的安全

    1.3K40

    Python 字典的特点和常用操作

    ,比如,数字,字符串,元组等,列表等可变对象不能作为键. >>> binfo={1:'22',2:'dd'} >>> binfo {1: '22', 2: 'dd'} >>> cinfo={'22':'...22': '222'} >>> dinfo={(1,2,3):'ss',('b','c'):'222'} >>> dinfo {('b', 'c'): '222', (1, 2, 3): 'ss'} 元组里面的元素必须也是不可以改变的..., 'name': 'lilei'} >>> info.pop('name') #删除key为name的元素,并返回key对应的value 'lilei' >>> info {'age': 20} >>...#不指定参数,就是pop最后一个元素 4 >>> l [1, 2, 3] >>> l.pop(2) #可以具体指定删除哪个元素 3 >>> l.pop(2) #下标不存在的元素会报错 Traceback...,则返回NoneType >>> type(b) NoneType'> >>> info.get('age2','22')#如果是不存在的key,可以指定返回一个默认值 '22' 练习:

    84010

    利用元组作为函数的返回值,求序列中的最大值、最小值和元素个数。

    max_val, min_val, length = get_sequence_info(seq) print("最大值:", max_val) print("最小值:", min_val) print("元素个数...:", length) 解释一下代码: 第1行定义了一个名为get_sequence_info的函数,输入参数是一个序列(例如列表或元组)。...第2~4行在序列上使用内置函数max、min、len分别求出序列的最大值、最小值和元素个数。 第5行使用元组以逗号分隔的方式返回以上三个结果。...第811行创建一个序列`seq`,并在第1315行调用get_sequence_info函数,将返回元组中的值赋给对应的变量max_val、min_val和length。 最后输出相关信息。...使用元组作为函数返回值的好处是可以方便地在函数返回多个数值,而不需要显式构建字典或列表等数据结构。

    6400
    领券