一 介绍 类名:tuple(元祖) 定义:( value , value1 , ... ) value:任意数据类型 示例:var = ( 111, 'a' , (1,2) , [3,'abc'] , True ) 推荐的定义(区分方法):var = ( 111, 'a' , (1,2) , [3,'abc'] , True , ) 存储
一 介绍
- 类名:tuple(元祖)
- 定义:( value , value1 , ... )
- value:任意数据类型
- 示例:var = ( 111, 'a' , (1,2) , [3,'abc'] , True )
- 推荐的定义(区分方法):var = ( 111, 'a' , (1,2) , [3,'abc'] , True,)
- 存储原理
- 元素存储是有序排列。
- 支持切片功能。
- 一级元素不能修改(含属性,如:列表中长度),可对二级元素修改。
- 具有可迭代特性(能被 for 语句遍历)。
- 常用方法
- 索引、切片、循环。
- 一级元素不能修改的特性。
print(tu[1]) # is
print(tu[0:-1]) # ('this', 'is')
二 常规使用
- 数据类型转换(可迭代对象与元素的理解)
- 字符转元祖
s = 'abcd'
v = tuple(s)
print(v) # ('a', 'b', 'c', 'd')
- 列表转元祖
li = [11, 22, 'ab', [True, {'name': 'elsa'}]]
v = tuple(li)
print(v) # (11, 22, 'ab', [True, {'name': 'elsa'}])
- 元祖转字符
tu = ('this', 'is', 'python')
s = '_'.join(tu)
print(s) # this_is_python
- 元祖转列表
tu = ('this', 'is', 'python')
li = list(tu)
print(li) # ['this', 'is', 'python']
- 修改二级元素(注意一级元素不能修改)
tu = ('ab', [(1, 2, 3)], 'ef')
tu[1][0] = 333
print(tu) # ('ab', [333], 'ef')
- count( x ) ,统计相同元素的个数
tu = ('ab', 'ef', [(1, 2, 3)], 'ef', 'ef')
print(tu.count('ef')) # 3
- index( x [ ,start [, end ] ] ) ,找出首个元素的下标
tu = ('ab', 'ef', [(1, 2, 3)], 'ef', 'ef')
print(tu.index('ef')) # 1
print(tu.index('ef', 2)) # 3