记录学习的点点滴滴–150天从Python小白到大神的转变(day5)
今天是学习Python的第五天,感觉自己还是题做少了,思维没有转变过来,还需要大量地做题。目前看来自己对这门语言还是比较感兴趣的! 第五天主要的学习内容为数字相关类型和列表相关知识!
先通过一张思维导图总结一下这第五天所学的知识!
列表相关知识包括: 列表的定义 ,列表的特性,列表的相关操作,列表的相关函数以及列表的相关方法
-
列表的定义与特性
a. 列表是一种容器型数据类型,可以同时保存多个数据,以中括号[ ]作为容器标志,里面多个元素之间用逗号隔开,[元素1,元素2,元素3…]
b. 列表中的元素是可变的(元素的个数和元素的值),列表是有序的
c.因为列表中的元素时可变的,故列表支持增删改查的操作;列表又是有序的,故列表也支持下标操作。
-
列表的相关操作
- 查 – 从列表中获取元素
a. 获取单个元素 列表[下标]
b. 同时获取下标和下标所对应的元素
语法:
for 变量1,变量2 in enumerate(列表)
c. 通过下标间接遍历出列表的元素
语法:
for index in range(len(列表))
num1 = 列表[index]
# 练习: 已知一个数字列表,将所有元素乘二。 # 实质是修改列表中的元素 nums = [1,2,3,4,5] if index in nums: nums[index] = nums[index] * 2 print(nums)
- 列表切片 - 同时获取列表中的部分元素
语法:
列表[开始下标:结束下标:步长] : 从开始下标一直获取到结束下标之前,每次下标值增加步长
a. 步长的正负决定获取元素的方式
步长为正 - -> 是从开始下标从前往后一直获取到结束下标之前,每次下标值增加步长
步长为负 --> 是从开始下标从后往前一直获取到结束下标之前,每次下标值增加步长
b. 开始下标和结束下标省略
列表[::1] --> 从开始下标从前往后取一直取到结束下标,结果是得到一个与原列表相同的新列表
列表[::-1] --> 从开始下标从后往前取一直取到结束下标,结果是得到原列表倒序的新列表
- 删 --从列表中删除元素
a. 在做满足某种条件就删除列表中某些值的这些题目的时候,记得千万不要在原列表中进行删除操作,因为每删除一个元素,之后的元素位置会发生变化,会导致在遍历列表的时候,无法遍历出每个元素
b. 相关语法:
del 列表[下标] – 删除列表中指定下标所对应的元素
列表.remove(元素) – 删除列表中指定的元素,若该元素重复,则只会删除第一次出现的那个元素
列表.pop() – 获取并从列表中删除最后一个元素
列表.pop(下标) – 获取并从列表中删除指定下标所对应的元素
# 练习:删除指定分数列表中所有低于60分的成绩 gardes = [98,78,90,34,67,45,23] gardes_copy = gardes.copy() for garde in gardes: # 在原列表中遍历是为了保证所有的元素都被取到,不遗漏 if garde < 60 gardes_copy.remove(garde) print(gardes_copy)
- 增 --添加元素到列表中
a. 追加 --> 列表.append(元素) 在列表的最后一个元素之后增加一个元素
b. 添加 --> 列表.insert(下标,元素) 在指定下标所对应的元素之前增加一个元素
- 改 – 修改列表中某个元素的值
语法:
列表[下标] = 新值
- in 和 not in操作
a. 元素 in 列表 --> 判断元素是否在列表当中
b. 元素 not in 列表 --> 判断元素是否不在列表当中
# 获取两个列表中公共的元素 # A = [1,2,3,10,3,2] # B = [5,2,10,20,32] # 求公共列表:c :[2,5,10] A = [1,2,3,10,3,2] B = [5,2,10,20,32] c = [] # 用来存放公共元素 for num in A : if num in B and num not in c: C.append(num) print(C)
-
列表的相关函数
a. sum(列表) --> 求列表中各个元素之和
b. max(列表) / min(列表) --> 求列表中的最大值和最小值
c. sorted(列表) / sorted(列表,reverse=True) ---->
对列表进行从小到大的升序排序并产生一个新列表/对列表进行从大到小的降序排序并产生一个新列表
d. len(列表) – 求列表的长度,即列表中元素的个数
e. list(其他类型的容器型数据) – 其他类型的数据在转换为列表时,是把每个元素转换成列表里面的元素
# 字符串
str1 = 'abc' # 是把字符串中每个字符转换为列表里面的元素
list1 = list(str1)
print(list1) # list1 = ['a', 'b', 'c']
# 元组
tuple1 = (1, 2, 3, 4)
list2 = list(tuple1)
print(list2) # list2 = [1, 2, 3, 4]
- 列表的相关方法 (8个)
列表方法 | 方法含义 | |
---|---|---|
列表.clear() | 清空列表中所有的数据,该表达式本身不会返回任何值 | |
列表.copy() | 拷贝出一个与原列表相同的列表,返回一个与原列表相同的列表 | |
列表.index(元素) | 获取指定元素的下标 | |
列表.reverse() | 倒序列表,直接修改原列表,不会产生一个新的列表 | |
列表.sort(列表) | 对原列表中的元素按着从小到大的顺序进行升序排序(直接修改原列表) | |
列表.sort(列表,reverse=True) | 对原列表中的元素按着从大到小的顺序进行降序排序(直接修改原列表) | |
列表.count(元素) | 统计指定元素的个数 | |
列表.extend(序列) | 同时往原列表中添加多个值 |
- 结束语
第五天的收获颇丰,需要好好做题,好好消化;上课的节奏也越来越快,加油,跟紧老师的脚步,相信5个月之后会交出满意的答卷。书山有路勤为径,无害无涯苦作舟!