python的tuple元组数据类型的使用方法以及案例

 一、元组的概念介绍

1、元组是列表的二次加工

列表可以被修改

列表的类型 

list

li = [1,2,3,4,5,6]

2、元组的元素不可被修改,不能被增加或者删除,(只是针对元组的一级元素是不可以修改的,元组里面的二级列表元素是可以被修改的,就是元组里面嵌套着列表)可以被for循环,所以元组也是一个可迭代对象,元组也是有序的

元组的类型

tuple

tu = (1,2,3,4,5,6)

3、元组可以包含 数字、字符串,列表,元组

   在写元组的时候在末尾一定要加一个,   逗号,不然区分不出来是参数还是元组

   比如下面这个是个参数跟元组是一样的都是()

   我们自己在写代码的时候在元组末尾加个逗号,就能区分出来了

sort(self, key=None, reverse=False)

tu = (11,"22","gouguoqi",(33,99),[66,"77"],True,)
print (tu)

C:\python35\python3.exe D:/pyproject/day12列表/tuple.py

(11, '22', 'gouguoqi', (33, 99), [66, '77'], True)

4、通过索引获取元组内的元素

tu = (11, "22", "gouguoqi", (33, 99), [66, "77"], True,)
v = tu[1]
print(v)

C:\python35\python3.exe D:/pyproject/day12列表/tuple.py

22 

如何取到元组里面的嵌套的列表里面的的元素的元素

tu = ("11","22",["33",("ae",66,"99",),90])
v = tu[2][1][2]
print  (v)

C:\python35\python3.exe D:/pyproject/day12列表/tuple.py

99

5、通过切片获取元组内一个范围内的元素

tu = (11, "22", "gouguoqi", (33, 99), [66, "77"], True,)
v = tu[1:5]             大于等于1小于5
print(v)

C:\python35\python3.exe D:/pyproject/day12列表/tuple.py

('22', 'gouguoqi', (33, 99), [66, '77'])

6、可以被for循环,所以元组也是一个可迭代对象(字符串、列表、元组都是)

tu = (11, "22", "gouguoqi", (33, 99), [66, "77"], True,)
for n in tu:
    print (n)

C:\python35\python3.exe D:/pyproject/day12列表/tuple.py

11

22

gouguoqi

(33, 99)

[66, '77']

True

二、字符串、列表、元组 之间的相互转换

我们之前把数字转换成字符串是这样写 S = str(a)  a是数字,S是转换成的结果

我们之前把字符串换成数字是这样写   S = int(a)  a是字符串,S是转换成的结果

把字符串换成列表就是               S = list(a)  a是字符串,S是转换成的结果

把列表转换成字符串                 S = str(a)   a是列表,S是转换成的结果

  (1)将字符串转换为元组

S = "gouguoqi"
v = tuple(S)
print (v)

C:\python35\python3.exe D:/pyproject/day12列表/tuple.py

('g', 'o', 'u', 'g', 'u', 'o', 'q', 'i')

 (2)将列表转换为元组

li = ["beiye",22,33]
v = tuple(li)
print (v)

C:\python35\python3.exe D:/pyproject/day12列表/tuple.py

('beiye', 22, 33)

(3)将元组转换为列表

tu = ("miaoye",66,77)
v = list(tu)
print (v)

C:\python35\python3.exe D:/pyproject/day12列表/tuple.py

['miaoye', 66, 77]

(4)将元组转换为字符串(跟列表转换为字符串一样)

第一种方法,自己写for循环,一个一个的循环,因为元素中既有数字,又有字母,                所以得定义一个空,然后循环的时候转换成str类型,才能进行相加,一个一个的循环,最    后把a打印出来

tu = ("miaoye",66,77)
v = str(tu)
print (type(v),v)

C:\python35\python3.exe D:/pyproject/day12列表/tuple.py

<class 'str'> ('miaoye', 66, 77)

虽然是一个字符串的类型了,但是结果不是我们想要的,所以我们得自己写for循环了

 

tu = ("miaoye", 66, 77)
a = ""
for n in tu:
    b = str(n)
    a += b
# a = a + b
print(a)

C:\python35\python3.exe D:/pyproject/day12列表/tuple.py

miaoye6677
 

第二种方法,当元组里面都是字符串的时候,我们就可以用join的方法进行拼接了,有数字就不能用join了,就得用上面的自己写for循环了

tu = ("miaoye","gou")
v = "_".join(tu)
print (v)

C:\python35\python3.exe D:/pyproject/day12列表/tuple.py

miaoye_gou

7.修改元组里面的二级列表中的元素  *****重要

tu = ("11", "22", ["33", ("ae", 66, "99",), 90])
tu[2][0] = "333"
print(tu)

C:\python35\python3.exe D:/pyproject/day12列表/tuple.py

('11', '22', ['333', ('ae', 66, '99'), 90])

8.元组这里就提供了2个方法

(1)count(self, value)    计数
计算指定的元素在元组里面出现了几次
T.count(value) -> integer -- return number of occurrences of value

T = ("11","22","33","11","woai")
v = T.count("11")
print (v)

C:\python35\python3.exe D:/pyproject/day12列表/tuple.py

2
(2)index(self, value, start=None, stop=None)

找到第一个指定的元素的索引之后就不再继续往下找了,也可以指定范围

T.index(value, [start, [stop]]) -> integer -- return first index of value.
Raises ValueError if the value is not present.

 
T = ("11","22","33","11","22","woai")
v = T.index("22")
print (v)

C:\python35\python3.exe D:/pyproject/day12列表/tuple.py

1
 

10、元组的in操作,判断元素是否包含在元组中

T = ("11","22",33)
v = 33 in T
print (v)

C:\python35\python3.exe D:/pyproject/day12列表/dict-way.py

True

猜你喜欢

转载自www.cnblogs.com/gouguoqilinux/p/9119862.html