栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

快乐学习Python的Day4,挑战一下吧!

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

快乐学习Python的Day4,挑战一下吧!

Day4列表 01_列表

列表是能够存储各种数据容器,其次有存储数据的功能。列表是可变的。列表是有序的(下标)。
列表的容器符号[ ],list

1.创建一个空列表
list1 = []
2.可变-增、删、改。
  • 增加元素:
    append():追加
    insert():插入
list1.append('Python')
list1.append('Java')
# 下标:Python中下标
# 正向下标:从0开始
# 负向下标:从-1开始
list1.insert(1, 'Html')
print(list1)

修改:通过下标改元素
语法:列表[下标] = 新的值

list1[1] = 'C'
print(list1)
  • 删除元素
    del:语法 —— del 列表[下标]
    remove:移除某个元素(彻底删除)
    pop:移除某个元素(删除文件后知道删除的是谁)
    clear:将列表清空
del list1[1]
print(list1)

list1.remove('Java')
print(list1)

list1.pop(0)
print(list1)

list1.clear()
print(list1)
02_下标和切片 1.下标

每个元素在列表的位置。
正向下标:从0开始
负向下标:从-1开始

list1 = ['蜘蛛侠', '环太平洋', '海蒂', '复仇者联盟']
#          0         1        2       3
#         -4        -3       -2      -1

print(list1[2], list1[-2])

# 运行结果
'''
海蒂 海蒂
'''

注:下标不能越界
list1[100]
list1[-100]
报错:IndexError: list index out of range

2.切片

切片:左闭右开区间,从原来的容器中提取元素组成新的容器

变量[M:N:step]
M是其是范围(不写M,默认从头开始取),N是结束范围(如果不写N,默认取到尾),step是步长(默认等于1);

list1 = ['蜘蛛侠', '环太平洋', '海蒂', '复仇者联盟']
print(list1[2:4])  # 4是取不到的
print(list1[1:4:2])
print(list1[:4:2])
print(list1[::2])
print(list1[:])

# 运行结果
'''
['海蒂', '复仇者联盟']
['环太平洋', '复仇者联盟']
['蜘蛛侠', '海蒂']
['蜘蛛侠', '海蒂']
['蜘蛛侠', '环太平洋', '海蒂', '复仇者联盟']
'''

1.起始范围和结束范围不写的时候,冒号必须存在,步长无需考虑
2.步长控制获取的元素,每间隔(步长-1)个元素获取一个元素(获取的当前元素 + 步长 = 下一个要获取的元素)

list1 = ['蜘蛛侠', '环太平洋', '海蒂', '复仇者联盟']
print(list1[::-1])
print(list1[:1:-1])

# 运行结果
'''
['复仇者联盟', '海蒂', '环太平洋', '蜘蛛侠']
['复仇者联盟', '海蒂']
'''

3.M和N必须同符号:step>0时,MN

list1 = ['蜘蛛侠', '环太平洋', '海蒂', '复仇者联盟']
print(list1[0:-1])

# 运行结果
'''
['蜘蛛侠', '环太平洋', '海蒂']
'''
movies = ['阿甘正传', '肖申克的救赎', '霸王别姬', '三傻大闹宝莱坞', '环太平洋', '猿人泰山']
# 练习:
# a.获取['阿甘正传'、'霸王别姬'、'环太平洋']
print(movies[0:5:2])
print(movies[0:-1:2])
# b.获取['肖申克的救赎'、'环太平洋']
print(movies[1:5:3])
print(movies[1:-1:3])
print(movies[1::3])
# c.获取['环太平洋'、'霸王别姬'、'阿甘正传']
print(movies[-2::-2])
# d.获取['猿人泰山'、'阿甘正传']
print(movies[::-5])
# 获取['霸王别姬']
print(movies[2:3])
'''
结果
['阿甘正传', '霸王别姬', '环太平洋']
['阿甘正传', '霸王别姬', '环太平洋']
['肖申克的救赎', '环太平洋']
['肖申克的救赎', '环太平洋']
['肖申克的救赎', '环太平洋']
['环太平洋', '霸王别姬', '阿甘正传']
['猿人泰山', '阿甘正传']
['霸王别姬']
'''
03_循环 1.直接遍历
movies = ['阿甘正传', '肖申克的救赎', '霸王别姬', '三傻大闹宝莱坞', '环太平洋', '猿人泰山']
for i in movies:
    print(i)
    
# 运行结果
'''
阿甘正传
肖申克的救赎
霸王别姬
三傻大闹宝莱坞
环太平洋
猿人泰山
'''  
2.间接遍历

len()能够查看容器的长度

movies = ['阿甘正传', '肖申克的救赎', '霸王别姬', '三傻大闹宝莱坞', '环太平洋', '猿人泰山']
print(len(movies))
for i in range(len(movies)):
    print(movies[i])
    
# 运行结果
'''
6
阿甘正传
肖申克的救赎
霸王别姬
三傻大闹宝莱坞
环太平洋
猿人泰山
'''
3.enumerate()将列表转换为一个可迭代的对象
movies = ['阿甘正传', '肖申克的救赎', '霸王别姬', '三傻大闹宝莱坞', '环太平洋', '猿人泰山']
print(enumerate(movies))
for i in enumerate(movies):
    print(i)
    
# 运行结果
'''
(0, '阿甘正传')
(1, '肖申克的救赎')
(2, '霸王别姬')
(3, '三傻大闹宝莱坞')
(4, '环太平洋')
(5, '猿人泰山')
'''

练习:将下方元素从小到大进行排序
[10, 23, 55, 56, 30, 76, 100]

list1 = [23, 56, 10, 55, 76, 100, 30]
# [23, 56, 10, 55, 76, 100, 30]
# [23, 10, 55, 56, 76, 30, 100]
# [10, 23, 55, 56, 30, 76, 100]
# 每趟排序,排序次数 + 1 = 本趟排序的元素个数
# 外层循环控制趟数
for i in range(1, len(list1)):
    print(f'这是第{i}趟排序')
    print('每趟排序开始前:', list1)
    for j in range(0, len(list1) - i):
        print('每次排序的两个元素', list1[j], list1[j + 1])
        if list1[j] > list1[j + 1]:
            list1[j], list1[j + 1] = list1[j + 1], list1[j]
        # 打印每一趟排序的结果
        print(list1)

# 运行结果
'''
这是第1趟排序
每趟排序开始前: [23, 56, 10, 55, 76, 100, 30]
每次排序的两个元素 23 56
[23, 56, 10, 55, 76, 100, 30]
每次排序的两个元素 56 10
[23, 10, 56, 55, 76, 100, 30]
每次排序的两个元素 56 55
[23, 10, 55, 56, 76, 100, 30]
每次排序的两个元素 56 76
[23, 10, 55, 56, 76, 100, 30]
每次排序的两个元素 76 100
[23, 10, 55, 56, 76, 100, 30]
每次排序的两个元素 100 30
[23, 10, 55, 56, 76, 30, 100]
这是第2趟排序
每趟排序开始前: [23, 10, 55, 56, 76, 30, 100]
每次排序的两个元素 23 10
[10, 23, 55, 56, 76, 30, 100]
每次排序的两个元素 23 55
[10, 23, 55, 56, 76, 30, 100]
每次排序的两个元素 55 56
[10, 23, 55, 56, 76, 30, 100]
每次排序的两个元素 56 76
[10, 23, 55, 56, 76, 30, 100]
每次排序的两个元素 76 30
[10, 23, 55, 56, 30, 76, 100]
这是第3趟排序
每趟排序开始前: [10, 23, 55, 56, 30, 76, 100]
每次排序的两个元素 10 23
[10, 23, 55, 56, 30, 76, 100]
每次排序的两个元素 23 55
[10, 23, 55, 56, 30, 76, 100]
每次排序的两个元素 55 56
[10, 23, 55, 56, 30, 76, 100]
每次排序的两个元素 56 30
[10, 23, 55, 30, 56, 76, 100]
这是第4趟排序
每趟排序开始前: [10, 23, 55, 30, 56, 76, 100]
每次排序的两个元素 10 23
[10, 23, 55, 30, 56, 76, 100]
每次排序的两个元素 23 55
[10, 23, 55, 30, 56, 76, 100]
每次排序的两个元素 55 30
[10, 23, 30, 55, 56, 76, 100]
这是第5趟排序
每趟排序开始前: [10, 23, 30, 55, 56, 76, 100]
每次排序的两个元素 10 23
[10, 23, 30, 55, 56, 76, 100]
每次排序的两个元素 23 30
[10, 23, 30, 55, 56, 76, 100]
这是第6趟排序
每趟排序开始前: [10, 23, 30, 55, 56, 76, 100]
每次排序的两个元素 10 23
[10, 23, 30, 55, 56, 76, 100]
'''

Day4 over!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/992269.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号