kaikesixday

python基础知识第5节(9.18)

大概内容:

  • 列表基础

  • 获取元素

  • 列表的增删改操作

1、列表基础

定义变量保存一个班10个学生的分数
求10个学生的平均

scores = [100, 90, 83, 92, 56, 78, 99, 66, 67, 95]
result = sum(scores) / len(scores)
print(result)

1.什么是列表(list)
“”"
1)列表是Python自带的容器型数据类型;将[]作为容器的标志,里面多个元素用逗号隔开:[元素1,元素2,元素3,…]
2)列表是可变的(支持增删改);列表是有序的(支持下标操作)
3)列表对元素的要求:a.任何类型的数据都可以作为列表的元素
b.同一列表中的不同元素类型可以不一样
“”"

空列表

list1 = [] #[ ],bool --是False
print(list1, type(list1))
# 列表中的元素
list2 = [10, 'abd', 12.5, True]
print(list2)

a = 100
list3 = [10+2, a % 4, a**0.5]
print(list3)  # [12,0,10.0]

list4 =[a+2, a == 20]
print(list4)  # [102,False]

list5 = [10, 'abc', a**2, [a, 10]]  # 小列表,个数4个
# 练习1:定义一个列表保存5个人的年龄
age_list = [10, 12, 13, 14, 15]
ages = [10, 12, 13, 14, 15]
print('5个人的年龄:', age_list)
# 练习2:定义一个列表保存一个人的姓名、年龄、性别和电话
person = ['陈来',12, '女', '123456789']
print('一个人:姓名、年龄、性别和电话是:', person)

2、获取元素

重要
1.获取单个元素
“”"
语法:
列表[下标] - 获取列表中指定下标对应的元素

说明:
列表 - 可以是保存列表的变量,也可以是具体一个列表数据
[] - 固定写法
下标 - 下标又叫索引,它是元素在列表中的位置信息。
python中有序列表中元素的下标有两种:
a.元素从左往右从0开始依次增加的下标值
b.元素从右往左从-1开始依次减小的下标值
“”"

[10, 20, 30] # 0,1,2 --> -3,-2,-1

注意:下标不能越界
print(heroes[10]) # 下标错误:下标越界IndexError: list index out of range

heroes = ['诸葛亮', '瑶', '奥巴马', '亚索', '劫', '赵云', '孙膑']
print(heroes[3], heroes[-4])
print(heroes[-1])
print(heroes[1], heroes[-6])

**2.获取多个元素 - 列表切片
1)切片的完整语法
“”"
语法1:
列表[开始下标:结束下标:步长]

从开始下标开始取,取到结束下标前为止,每次下标增加指定步长。
注意:
a.如果从开始到结束的方向和步长对应的方向不一致,那么切片的结果是[]。(步长为正表示从前往后,步长为负表示从后往前)
b.在不为[]的时候,开始下标对应的值能取到,结束下标对应的值取不到:[开始下标,结束下标)

“”"

# heroes = ['诸葛亮', '瑶', '奥巴马', '亚索', '劫', '赵云', '孙膑']
# print(heroes[1:4:1])  # ['瑶', '奥巴马', '亚索'] 方向一致,左闭右开【)
# print(heroes[1:4:-1])  # []
# print(heroes[-1:1:2])  # []
# print(heroes[-1:1:-2])  # ['孙膑', '劫', '奥巴马']
# print('---------------------------------------')
# print(heroes[0:3:1])  # ['诸葛亮', '瑶', '奥巴马']
# print(heroes[-1:4:2]) # [] 空列表
# print(heroes[-5:5:1]) # ['奥巴马', '亚索', '劫']
# print(heroes[1:-2:2]) # ['瑶','亚索']
# print(heroes[-2:2:-1]) # ['赵云','劫','亚索']
# 练习:
# 1)['诸葛亮','亚索']
# 2)['孙膑','劫','奥巴马']
# 3)['奥巴马', '亚索', '劫', '赵云']
heroes = ['诸葛亮', '瑶', '奥巴马', '亚索', '劫', '赵云', '孙膑']
print(heroes[0:4:3]) # ['诸葛亮', '亚索']
print(heroes[0:-3:3]) # ['诸葛亮', '亚索']
print(heroes[-1:-6:-2]) # ['孙膑', '劫', '奥巴马']
print(heroes[-1:1:-2]) # ['孙膑', '劫', '奥巴马']
print(heroes[2:-1:1]) # ['奥巴马', '亚索', '劫', '赵云']

2)切片语法的省略操作
“”"
a.省略步长 - 步长就是1
列表[开始下标:结束下标] == 列表[开始下标:结束下标:1]
b.省略开始下标 - 如果步长为正表示从第0个元素开始往后取;如果步长为负,从最后一个开始往前取。
列表[:结束下标:步长]
列表[:结束下标]
c.省略结束下标 - 如果步长为正从开始下标开始取到最后一个元素为止;如果步长为负从开始下标开始取到最前面一个元素为止。
列表[开始下标::步长]
列表[开始下标:]
“”"

heroes = ['诸葛亮', '瑶', '奥巴马', '亚索', '劫', '赵云', '孙膑']
print(heroes[1:4])  # ['瑶', '奥巴马', '亚索']
print(heroes[-1:1])  # []
print(heroes[:3])  # ['诸葛亮', '瑶', '奥巴马']
print(heroes[:3:-2])  # ['孙膑' ,'劫'] 2-->中间隔1个
print(heroes[:-1:-1])  # []
print(heroes[2:])  # ['奥巴马', '亚索', '劫', '赵云', '孙膑']
print(heroes[-2::-2])  # ['赵云','亚索','瑶']
print(heroes[::2])  # ['诸葛亮', '奥巴马', '劫', '孙膑']
print(heroes[:])  # ['诸葛亮', '瑶', '奥巴马', '亚索', '劫', '赵云', '孙膑']
print(heroes[::-1])  # 倒序 ['孙膑', '赵云', '劫', '亚索', '奥巴马', '瑶', '诸葛亮']

“”"
方法一:(直接获取元素)
for 变量 in 列表:
循环体

方法二:(通过下标获取元素)
for 下标变量 in range(len(列表)): #(10)-> 0~9
列表[变量] # 取到每个元素
补充:len(列表) - 获取指定列表中元素的个数
列表[下标] = 值
“”"

# 练习:统计scores中90分以上的个数
count = 0
scores = [100, 90, 83, 92, 56, 78, 99, 66, 67, 95]
for x in scores:
    if x > 90:
        count += 1
print('90分以上的个数:', count)
print('-----------------------------------华丽的分割线-------------')
for x in range(len(scores)):
    print(x, scores[x]) # 0 100 下标 对应的值
for x in range(-1, -len(scores)-1, -1):
    print(x,scores[x]) # 倒着取

3、列表的增删改操作

1.增 - 添加元素
“”"

  1. 列表.append(元素) - 在列表的最后添加指定元素(最后追加)
  2. 列表.insert(下标,元素) - 在指定下标对应的元素前插入指定元素(在下标前插入)
    “”"
films = ['绿皮书', '遗愿清单', '你的名字', '复仇者联盟']
print(films)   # ['绿皮书', '遗愿清单', '你的名字', '复仇者联盟']

films.append('肖申克的救赎')
print(films)  # ['绿皮书', '遗愿清单', '你的名字', '复仇者联盟', '肖申克的救赎']
films.append('夏洛特烦恼')
print(films) # ['绿皮书', '遗愿清单', '你的名字', '复仇者联盟', '肖申克的救赎', '夏洛特烦恼']

films.insert(2, '触不可及')
print(films) # ['绿皮书', '遗愿清单', '触不可及', '你的名字', '复仇者联盟', '肖申克的救赎', '夏洛特烦恼']

2.删 - 删除元素
“”"

  1. del 列表[下标] - 删除列表中指定下标对应的元素
  2. 列表.remove(元素) - 删除列表中指定元素(如果元素不存在会报错;如果元素有多个,只删最前面的一个)
  3. 列表.pop() - 取出列表中最后一个元素
    列表.pop(下标) - 取出列表中指定下标对应的元素
    “”"
films = ['绿皮书', '遗愿清单', '触不可及', '你的名字', '复仇者联盟', '肖申克的救赎', '夏洛特烦恼']
del films[2]
print(films) # ['绿皮书', '遗愿清单', '你的名字', '复仇者联盟', '肖申克的救赎', '夏洛特烦恼']
films.remove('肖申克的救赎')
print(films)
# films.remove('阿甘正传') # 报错
films = ['绿皮书', '遗愿清单', '肖申克的救赎', '触不可及', '你的名字', '复仇者联盟', '肖申克的救赎']
films.remove('肖申克的救赎')
print(films)  # ['绿皮书', '遗愿清单', '触不可及', '你的名字', '复仇者联盟', '肖申克的救赎']
films = ['绿皮书', '遗愿清单', '触不可及', '你的名字', '复仇者联盟', '肖申克的救赎', '夏洛特烦恼']
del_film = films.pop()
print(films)     # ['绿皮书', '遗愿清单', '触不可及', '你的名字', '复仇者联盟', '肖申克的救赎']
print(del_film)  # 夏洛特烦恼
films.pop(1)
print(films)  # ['绿皮书', '触不可及', '你的名字', '复仇者联盟', '肖申克的救赎']

3.改
列表[下标] = 值 - 将列表中指定下标对应的元素修改成指定的值

films = ['绿皮书', '遗愿清单', '触不可及', '你的名字', '复仇者联盟', '肖申克的救赎']
films[0] = '阿甘正传'
print(films)   # ['阿甘正传', '遗愿清单', '触不可及', '你的名字', '复仇者联盟', '肖申克的救赎']
films[4] = '这个杀手不太冷'
print(films)   # ['阿甘正传', '遗愿清单', '触不可及', '你的名字', '这个杀手不太冷', '肖申克的救赎']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值