Day8:元组

今天又是愉快的一天呢(^U^) ,太阳真好,暖暖的很贴心。

1.元组的概念(记住元组是不可变的)
  • python中的元组是有序元素组成的集合;
  • 元组与列表类似,与列表的区别在于,元组是不可变的,一旦定义,就不能修改。
2.如何定义元组
   t = tuple()     #定义
    t = ()         #定义
    t = tuple(range(0,10))    #返回:(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
    t = (1, 2, 3)             #返回:(1, 2, 3)
    t = (1)      #错误的
    t = (1,)     #正确的
  • 可以使用 tuple() 或者 () 直接初始化元组;
  • 定义单个元素的元组时,需要在单个元素后面加一个逗号,如t = (1,),不加逗号,类型为整型;
3.访问元组
t = (1,2,3,4,5,6,7)
print(t[2])    #输出:3

print (t[1:5])   #输出:(2, 3, 4, 5)  //元组左边是比闭区间,右边是开区间
  • 元组的访问和列表类似,都可以通过索引访问
4.对元组的增删改操作
  • 由于元组是无法被修改的,因此,元组没有增删改查的方法,这也体现了元组的不可变性;
  • 虽然元组中的元素值是不允许修改的,但我们可以对元组进行连接组合;
	t1 = (1,2,3)
	t2 = ('a','b')
	print(t1+t2)   #输出:(1, 2, 3, 'a', 'b')
  • 元组还能复制;
t = (1,2)*2
print(t)     #输出:(1, 2, 1, 2)
5.命名元组
from collections import namedtuple
Point = namedtuple('Point',['a','b'])
point = Point(1, 2)
print(point.a)    #输出1
print(point.b)    #输出2 
  • 使用之前需要通过 collection 模块导入一个 namedtuple 类;

  • 构建元组类:类名 = namedtuple(‘类名’,[可迭代对象])

  • 初始化元组实例;

  • 访问元组(元组也是通过点语法访问);

6.冒泡排序
lst = list([1,2,7,6,3,5,4])
print(lst)  #输出[1, 2, 7, 6, 3, 5, 4]

for i in range(len(lst)):      #有多少元素则需要排序多少次
    for j in range(len(lst) - i - 1):   
        if lst[j] > lst[j+1]:    #使元素交换位置
            tmp = lst[j]
            lst[j] = lst[j+1]
            lst[j+1] = tmp
 print(lst)   #输出[1, 2, 3, 4, 5, 6, 7]
  • 两个相邻元素之间进行比较,大的往后放,最终最大的元素应该排在队列的最末尾;

  • 每次比较完之后,下一次的比较都会减少一次;

  • 冒泡排序有两层循环,外层循环控制比较的次数,内层循环用来比较元素的大小;

本文参考自侠课岛(9xkd.com)Python同学计划

猜你喜欢

转载自blog.csdn.net/ivenqin/article/details/86625870