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

Python的基础语法(四)(持续更新)

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

Python的基础语法(四)(持续更新)

列表及其增删改查
      • 1 什么是列表?
      • 2 列表的查操作
        • 1. 查单个元素
        • 2. 切片
        • 3. 遍历
      • 3 列表的增删改操作
        • 1. 增 添加元素
        • 2. 删 删除元素
        • 3. 改 修改元素的值

列表在需要同时处理多个数据的时候非常有用。

1 什么是列表?
  1. 列表是容器型数据类型,将[]作为容器的标志,里面多个元素用逗号隔开。

    [数据1,数据2,数据3,...]

  2. 特点
    1)列表是可变的(可变指的是容器中元素的个数和值可变,即支持增删改)
    2)列表是有序的(支持下标操作、索引操作)

  3. 元素没有要求

    任何类型的数据都可以作为列表的数据,同一个列表中的元素的类型还可以不一样。

    1) 空列表:列表里面一个元素都没有的时候。

    list=[]
    list=[ ]
    list=''
    

    2) 列表中的元素可以是任何类型的数据。

    list1=[10,9.29,False,None,'abc',[1,2,3]]
    

    3)列表是有序的(顺序影响结果)。

    print([1,2,3]==[1,3,2])		#False
    print({1,2,3}=={1,3,2})		#True(集合无序)
    
2 列表的查操作 1. 查单个元素

即一次获取一个元素。

语法:

列表[下标]		获取指定列表中指定下标对应的元素

结构说明:

结构说明
列表需要获取元素的列表(可以是任何结果是列表的表达式,比如:保存列表的变量、具体的列表数据等)
[]固定写法
下标下标又叫索引,是列表中元素在列表中的位置信息。列表中的每个元素都有两个索引值,一个是从前往后,从0(第一个)开始不断增加的;另一个是从后往前,从-1(最后一个)开始不断减小。

下标不能越界。

nums=[100,99,98]
print(nums[0],nums[-3])		#100 100
2. 切片

一次获取多个元素(一次有规律的获取多个元素)。

语法:

列表[开始下标:结束下标:步长]		根据下标和步长获取指定列表中的部分元素

1)怎么确定切片结果

步骤:

磊第一步:确定结果是否为空列表(看从开始下标到结束下标的方向和步长对应的方式是否一致,如果方向一致结果一定不为空,反之结果肯定是空)

步长为正:表示从前往后取

步长为负:表示从后往前取

賂第二步:确定有效范围(开始下标对应的元素取得到,结束下标对应的元素取不到)。

雷第三步:在有效范围内,按照步长的绝对值确定获取内容。

如果绝对值为1,在有效范围内一个一个按顺序获取。

如果绝对值是2,在有效范围内,取一个跳1个再取一个。

如果绝对值是3,在有效范围内,取一个跳2个再取一个。

…

heroes = ['王昭君', '孙斌', '李白', '百里守约', '墨子', '澜', '孙悟空', '诸葛亮', '李信', '妲己']
print(heroes[1:4:1])
print(heroes[1:4:1])

2)怎么写切片

磊第一步:确定开始下标(目标对应的第一个元素对应的下标)。

賂第二步:确定步长。

确定正负号:看目标元素在原列表中的顺序是从前往后(+)还是从后往前(-)。

确定绝对值。

雷第三步:确定结束下标。

3)切片的省略写法

正常写法:列表[开始下标:结束下标:步长]

a.省略步长 相当于步长为1

列表[开始下标:结束下标]

print(heroes[1:4])
print(heroes[-1:4])	#[]

b.省略开始下标 表示从头开始(看步长的正负,开始下标在第一个或者最后一个)

列表[:结束下标:步长]、列表[:结束下标]

print(heroes[:4:2])	#['王昭君','李白']
print(heroes[:4:-2])	#['妲己','诸葛亮','澜']
print(heroes[:-4])	#['王昭君', '孙斌', '李白', '百里守约', '墨子', '澜']

c.省略结束下标 如果步长为正就从开始下标开始一直取到最后一个元素;如果步长为负就从开始下标开始一直取到第一个元素

列表[开始下标::步长]

print(heroes[1::2])		#['孙斌','百里守约','澜','诸葛亮',妲己']
print(heroes[-3::-1])	#['诸葛亮', '孙悟空', '澜', '墨子', '百里守约', '李白', '孙斌', '王昭君']
print(heroes[::-3])		#['妲己','孙悟空','百里守约','王昭君']
print(heroes[:])		#['王昭君', '孙斌', '李白', '百里守约', '墨子', '澜', '孙悟空', '诸葛亮', '李信', '妲己']
3. 遍历

一个一个的获取列表中所有的元素
1)方法1 循环体中的变量直接是列表的元素

for 变量 in 列表:
    循环体

games=['王者荣耀','开心消消乐','植物大战僵尸']
for i in games:
    print(i)

2)方法2 通过下标来遍历列表
循环体变量获取到的是每个元素的下标,然后需要通过:列表[下标]再获取元素

for 变量 in range(len(列表)):
    循环体

for i in range(len(games)):
    print(i,games[i])

3)方法3:同时获取下标和元素

for 变量1,变量2 in enumerate(列表)
	循环中变量1是每个元素的下标值。

for i item in enumerate(games):
    print(i,item)

练习1:计算nums中所有元素的和

nums = [12, 45, 8.34, 56, 23]
sum = 0
for i in nums:
    sum += i
print(sum)
结果:
144.34

练习2:统计nums中所有偶数的个数

nums = [23, 88, 90, 88, 67, 55, 11]
count = 0
for i in nums:
    if i % 2 == 0:
        count += 1
print(count)
结果:
3

练习3: 统计list1中字符串的个数

list1 = [109, 23.4, True, 'abc', 'helo', 23, '12', False, None]
count = 0
for i in range(len(list1)):
    if type(list1[i]) == str:
        count += 1
print(count)
结果:
3
3 列表的增删改操作 1. 增 添加元素

1)列表.append(元素) 在列表的最后添加指定元素

nums=[1,2,3]
print(nums)		#[1,2,3]
nums.append(4)
print(nums)		#[1,2,3,4]

2)列表.insert(下标,数据) 在列表指定下标对应元素前插入指定数据

nums=[1,2,3]
print(nums)		#[1,2,3]
nums.insert(2,4)
print(nums)		#[1,2,4,3]
nums.insert(-1,4)
print(nums)		#[1,2,4,3]

练习:使用一个新的列表提取nums中所有的偶数

nums = [17, 89, 90, 81, 84, 4, 56]
# [90, 84, 4, 56]
num = []
for i in nums:
    if i % 2 == 0:
        num.append(i)
print(num)

2. 删 删除元素

1)del 列表[下标] 删除列表中指定下标对应的元素

games = ['王者荣耀', 'lol', '和平精英', '永劫无间', 'apex', '2k', '植物大战僵尸', '开心消消乐']
del games[2]
print(games)

2)列表.remove(元素) 删除列表中指定元素(元素不存在会报错;如果有多个相同的元素,只会删除第一个)

games = ['王者荣耀', 'lol', '和平精英', '永劫无间', 'apex', '2k', '植物大战僵尸', '开心消消乐']
games.remove('植物大战僵尸')
print(games)

3)列表.pop()

  • 列表.pop() 取出列表最后一个元素
    列表.pop(下标) 取出列表指定下标对应的元素
3. 改 修改元素的值
表[下标]=新元素		修改列表中指定下标对应的元素为新的元素
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1026762.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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