day 4 总结
list
1.说明
1,列表是容器型属性类型(是序列):将[]作为容器的标志,里面多个元素用逗号隔开:[元素1, 元素2, 元素3, 元素4, …
2,列表是可变的(指的是列表中元素的个数、元素顺序和元素的值可变);列表是有序的(支持下表操作、下标是顺序的标志)
3,列表的元素:任何类型的数据都可以作为列表的元素,同一个列表中不同的元素类型可以不同
list1 = [] # bool值为False
print(list1, type(list1)) # [] <class 'list'>
print([1, 2, 3] == [3, 2, 1]) # False
print({1, 2, 3} == {3, 2, 1}) # True
list2 = [10, 23.32, 'abc', None, False, [1, 2], {'a': 10}, {1, 3, 5}]
print(list2) # [10, 23.32, 'abc', None, False, [1, 2], {'a': 10}, {1, 3, 5}]
a = 100
list3 = [20, a, a * 3, a > 10, a, False, True]
print(list3) # [20, 100, 300, True, 100, False, True]
2.获取列表元素
- 获取单个元素
"""
语法:
列表[下标] - 获取列表中指定下标对应的元素
说明:
列表 - 保存列表的变量,也可以直接写列表
[] - 固定写法
下标 - 又叫索引;下标就是元素在有序列表中的位置信息.
元素从前往后对应的下标值从0开始依次增加
元素从后往前对应的下标值从-1开始依次减小
"""
list2 = [10, 23.32, 'abc', None, False, [1, 2], {'a': 10}, {1, 3, 5}]
print(list2[0])
names = ['百里守约', '瑶', '李白', '白起', '后羿', '曜', '艾琳']
print(names[1]) # 瑶
print(names[-5]) # 李白
print(names[-1]) # 艾琳
print(names[-3]) # 后羿
# print(names[10]) # IndexError: list index out of range
2.遍历 - 一个一个的获取列表中的所有元素
"""
方法一 - 直接获取元素
for 变量 in 列表:
循环体
方法二 - 获取列表中所有元素对应下标,通过下标遍历对应元素
for 下标 in range(len(列表)):
列表[下标]
len(序列) - 获取序列中元素的个数
"""
for name in names:
print('name', name)
print('==============================================')
for index in range(len(names)):
print(index, names[index])
print('==============================================')
for index in range(-1, -len(names) - 1, -1):
print(index, names[index])
print('==============================================')
# 练习:统计scores中不及格学生的个数
scores = [78, 67, 56, 90, 78, 23, 91]
count = 0
for score in scores:
if score < 60:
count += 1
print('不及格的人数:', count) # 2
3,切片 - 同时获取多个元素
"""
a. 基础语法:
列表[开始下标: 结束下标: 步长] - 开始下标可以取到,结束下标取不到;开始下标可省略(省略时步长为正默认0,步长为负默认为-1),结束下标可省略(省略时步长为正默认为len(序列),步长为负默认为-len(序列)-1),步长可省略(省略默认为1)
如果步长为正:从开始下标到结束下标前,从前往后取,取的时候步长为指定步长
如果步长为负:从开始下标到结束下标前,从后往前取,取的时候步长为指定步长
b. 省略语法
1) 省略步长:列表[开始下标:结束下标] - 相当于步长是1
2) 省略开始下标: 列表[: 结束下标: 步长] / 列表[: 结束下标]
3) 省略结束下标: 列表[开始下标:: 步长] / 列表[开始下标:]
"""
names = ['百里守约', '瑶', '李白', '白起', '后羿', '曜', '艾琳']
name_list = names[1: len(names): 2]
print(name_list) # ['瑶', '白起', '曜']
print(names[: len(names): 2]) # ['百里守约', '李白', '后羿', '艾琳']
print(names[::]) # ['百里守约', '瑶', '李白', '白起', '后羿', '曜', '艾琳']
print(names[1: -1]) # ['瑶', '李白', '白起', '后羿', '曜']
print(names[: 0: -1]) # ['艾琳', '曜', '后羿', '白起', '李白', '瑶']
print(names[-1:: -1]) # ['艾琳', '曜', '后羿', '白起', '李白', '瑶', '百里守约']