python---(元组)tuple

 1 # 元组-tuple
 2 #     -元组可以看成是一个不可更改的list
 3 t = ()
 4 print(type(t))
 5 # 创建一个只有一个值的元组
 6 t = (1,)
 7 print(type(t))
 8 print(t)
 9 
10 t = 1,
11 print(type(t))
12 print(t)
13 
14 # 创建多个值的元组
15 t = (1, 2, 3, 4, 5)
16 print(type(t))
17 print(t)
18 
19 t = 1, 2, 3, 4, 5
20 print(type(t))
21 print(t)
22 
23 # 使用其他结果构建
24 list1 = [1, 2, 3, 4, 5, 6]
25 t = tuple(list1)
26 print(type(t))
27 print(t)
28 
29 运行结果:::
30 <class 'tuple'>
31 <class 'tuple'>
32 (1,)
33 <class 'tuple'>
34 (1,)
35 <class 'tuple'>
36 (1, 2, 3, 4, 5)
37 <class 'tuple'>
38 (1, 2, 3, 4, 5)
39 <class 'tuple'>
40 (1, 2, 3, 4, 5, 6)

 

 1 # 元组的特性
 2 #     -是一个有序列表
 3 #     -元组数据只可以访问, 不能修改
 4 #     -元组数据可以是任意类型
 5 #     -总之, list所有特性,除了可以修改, 元组都有
 6 #     -也就意味着,list具有的一些操作,比如索引,分片, 序列相加, 相乘资格操作,一模一样
 7 
 8 t = (1, 2, 3, 4, 5,)
 9 print(t[4])
10 
11 # # 超标错误
12 # print(t[12])
13 
14 t = (1, 2, 3, 4, 5, 6)
15 t1 = t[1::2]    #下表从1开始,跳数为2
16 print(id(t))
17 print(id(t1))
18 print(t1)
19 
20 # 切片可以超标
21 t2 = t[2::100]
22 print(t2)
23 
24 
25 :::
26 5
27 2822018933672
28 2822019685688
29 (2, 4, 6)
30 (3,)

 

 1 # 序列相加
 2 t1 = (1, 2, 3)
 3 t2 = (5, 6, 7)
 4 # 传址操作
 5 print(t1)
 6 print(id(t1))
 7 
 8 t1 = t1 + t2
 9 print(t1)
10 print(id(t1))
11 
12 # 以上操作类似于
13 t1 = (1, 2, 3)
14 t2 = (4, 5, 6)
15 # tuple 的不可修改,指的是内容不可修改
16 # 修改tuple内容会导致报错
17 # t1[1] = 100 #报错,tuple不可修改
18 
19 :::
20 (1, 2, 3)
21 1950629436728
22 (1, 2, 3, 5, 6, 7)
23 1950628684712

 

1 # 元组相乘
2 t = (1, 2, 3)
3 t =t * 3
4 print(t)
5 
6 :::
7 (1, 2, 3, 1, 2, 3, 1, 2, 3)

 

 1 t = (1, 2, 3)
 2 if 2 in t:
 3     print("yes")
 4 else:
 5     print("no")
 6 
 7 # 元组遍历, 一般采用for
 8 # 1、单层元组遍历
 9 t = (1, 2, 3, "xj", "i", "lvoe")
10 for i in t:
11     print(i, end=" ")
12 print()
13 
14 # 2、双层元组的遍历
15 t = ((1, 2, 3), (2, 3, 4), ("i", "love", "xj"))
16 # 对以上元组的遍历, 可以如下
17 
18 for i in t:
19     print(t)
20 
21 for k, m, n in t:
22     print(k, "--", m, "--", n)
23 
24 :::
25 yes
26 1 2 3 xj i lvoe 
27 ((1, 2, 3), (2, 3, 4), ('i', 'love', 'xj'))
28 ((1, 2, 3), (2, 3, 4), ('i', 'love', 'xj'))
29 ((1, 2, 3), (2, 3, 4), ('i', 'love', 'xj'))
30 1 -- 2 -- 3
31 2 -- 3 -- 4
32 i -- love -- xj

 

 

 

 

 

 

 1 # 关于元祖的函数
 2 # len:获取元组的长度
 3 t = (1, 2, 3, 4, 5)
 4 print(len(t))
 5 
 6 # max, min, :最大值最小值
 7 # 如果, 列表或元组中有多个最大值最小值,则实际打印出哪个
 8 print(max(t))
 9 print(min(t))
10 # tuple:转化或创建元祖
11 list1 = [1, 2, 3, 4, 5]
12 t = tuple(list1)
13 print(t)
14 t = tuple()
15 print(t)
16 
17 
18 # 元组的函数
19 #     基本跟lsit通用
20 # count:计算指定数据出现的次数
21 t = (2, 1, 2, 3, 45, 1, 3, 2)
22 print(t.count(2))
23 
24 # index:求指定元素在元组中的索引位置
25 print(t.index(45))
26 
27 # 如果需要查找的数字是多个, 则返回第一个
28 print(t.index(1))
29 
30 
31 :::
32 5
33 5
34 1
35 (1, 2, 3, 4, 5)
36 ()
37 3
38 4
39 1

 

 

 1 # 元组变量交换发
 2 #     两个变量交换值
 3 a = 1
 4 b = 3
 5 print(a)
 6 print(b)
 7 print("-----------------")
 8 # java程序员会这么写
 9 c = a
10 a = b
11 b = c
12 print(a)
13 print(b)
14 
15 print("-----------------")
16 
17 # pyhton的写法
18 a, b = b, a
19 print(a)
20 print(b)
21 
22 
23 
24 :::
25 1
26 3
27 -----------------
28 3
29 1
30 -----------------
31 1
32 3

 

posted @ 2018-09-27 11:25  Supl  阅读(155)  评论(0编辑  收藏  举报