学习Python(5)排序&tuple元组&dict字典&set集合

本文介绍了Python中的排序算法,包括冒泡排序和选择排序,并详细讲解了元组的创建、访问、操作及其与列表的区别。接着探讨了字典的创建、操作和功能,以及集合的创建、操作和它们之间的关系。这些基础知识对于Python初学者尤其重要。
摘要由CSDN通过智能技术生成

学习Python(5)排序&tuple元组&dict字典&set集合

排序

冒泡排序

排序思路:比较两个相邻下标对应的元素,如果以升序为例的话,则最大值出现在最右边

原理:
[9,7,6,8,5,4,3,2,1]

第1次(i=0, j=9-i-1)    [9,7,6,8,5,4,3,2,1]  => [7,6,8,5,4,3,2,1, 9]
第2次(i=1, j=9-i-1)    [7,6,8,5,4,3,2,1, 9] => [6,7,5,4,3,2,1, 8,9]
第3次(i=2, j=9-i-1)    [6,7,5,4,3,2,1, 8,9] => [6,5,4,3,2,1, 7,8,9]
第4次(i=3, j=9-i-1)    [6,5,4,3,2,1, 7,8,9] => [5,4,3,2,1, 6,7,8,9]
第5次(i=4, j=9-i-1)    [5,4,3,2,1, 6,7,8,9] => [4,3,2,1, 5,6,7,8,9]
第6次(i=5, j=9-i-1)    [4,3,2,1, 5,6,7,8,9] => [3,2,1, 4,5,6,7,8,9]
第7次(i=6, j=9-i-1)    [3,2,1, 4,5,6,7,8,9] => [2,1, 3,4,5,6,7,8,9]
第8次(i=7, j=9-i-1)    [2,1, 3,4,5,6,7,8,9] => [1, 2,3,4,5,6,7,8,9]

代码说明:

nums = [9,7,6,8,5,4,3,2,1]
for i in range(len(nums)-1):  # i=0,1,2,3,4,5,6,7

    for j in range(len(nums)-1-i):
        if nums[j] > nums[j+1]:
            nums[j], nums[j+1] = nums[j+1], nums[j]

print(nums)

选择排序

排序思路:固定一个下标,然后拿这个下标对应的元素和其他的元素依次进行比较,最小值出现在最左边

原理:
[9,7,6,8,5,4,3,2,1]

第1次(i=0)   [9,7,6,8,5,4,3,2,1]   =>  [1, 7,6,8,5,4,3,2,9]
第2次(i=1)   [1, 7,6,8,5,4,3,2,9]  =>  [1,2, 6,8,5,4,3,7,9]
第3次(i=2)   [1,2, 6,8,5,4,3,7,9]  =>  [1,2,3, 8,5,4,6,7,9]
第4次(i=3)   [1,2,3, 8,5,4,6,7,9]  =>  [1,2,3,4, 5,8,6,7,9]
第5次(i=4)   [1,2,3,4, 5,8,6,7,9]  =>  [1,2,3,4,5, 8,6,7,9]
第6次(i=5)   [1,2,3,4,5, 8,6,7,9]  =>  [1,2,3,4,5,6, 8,7,9]
第7次(i=6)   [1,2,3,4,5,6, 8,7,9]  =>  [1,2,3,4,5,6,7, 8,9]
第8次(i=7)   [1,2,3,4,5,6,7, 8,9]  =>  [1,2,3,4,5,6,7,8, 9]

代码说明:

nums = [9,7,6,8,5,4,3,2,1]
for i in range(len(nums)-1):  # i=0,1,2,3,4,5,6,7
    # 求剩下数中最小数的下标
    min_index = i
    for j in range(i, len(nums)):
        if nums[j] < nums[min_index]:
            min_index = j
    # 用最小数和第i个元素交换
    nums[i], nums[min_index] = nums[min_index], nums[i]
    
print(nums)

元组

和列表相似,本质上是一种有序的集合
元组和列表的不同之处:

列表:[ ]     元组:( )
列表中的元素可以进行增加和删除操作,但是,元组中的元素不能修改【元素:一旦被初始化,将不能发生改变】

创建元组

​创建空元组:tuple1 = ( )
创建有元素的元组:tuple1 = (元素1,元素2,。。。。)
代码展示:

t = ()  # 空元组
t = (1,)  # 包含1个元素的元组
t = (1, 2, 3, "hello", True)
print(t, type(t))

元组元素的访问

元组元素的访问

#格式:元组名[索引],和列表完全相同
tuple1 = (10,20,30,40,50)

获取元素值

print(tuple1[2])
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值