我的Python学习笔记_Day4 列表1
2020-01-14 11:23
155 查看
文章目录
列表1
1. 列表的基础语法
1)什么是列表(list)
列表是python提供的一种容器型数据类型
以[]作为容器的标志,里面多个元素用逗号隔开:
[元素1, 元素2, 元素3, …]
列表是可变的、有序的、支持下标操作
2)列表元素
列表中的元素可以是任何类型的数据
同一个列表中的元素的类型可以不同
[1, 0.1, True, 'abc', [1, 2], {1, 2}, (1, 2), {'name':100}, function, 60 + 2]
2. 查(获取列表中的元素)
1)获取单个元素
a. 语法:
列表[下标]
b. 说明
获取列表中指定下标对应的元素
代码 | 说明 |
---|---|
列表 | 列表值,保存列表的变量,结果是列表的表达式 |
[] | 固定写法 |
下标 | 列表中每一个元素对应一个下标,来表示这个元素在列表中的位置: 0 ~ len(list) - 1 -1 ~ -len(list) 负一表示最后一个元素 |
2)获取部分元素(切片)
a. 语法
列表[开始下标:结束下标:步长] 列表[M: N: step]
[M, N) 同range一样,左闭右开,结束下标取不到!
相当于:
获取range(M, N, step)产生的数字序列作为下标对应的所有元素
注意:列表切片的结果还是列表,新列表中的元素是原列表元素的一部分
b. 说明
步长为正,是从前往后取,要求M < N
步长为负,是从后往前取,要求M > N
否则,结果是[](空列表)
c. 特别用法
代码形式 | 说明 | 详说明 |
---|---|---|
列表[开始: 结束] | 省略步长 | 相当于步长是1 |
列表[: 结束: 步长] 列表[: 结束下标] |
省略开始下标 | 相当于从第一个元素取(步长为正) 相当于从最后一个元素取(步长为负) |
列表[开始: : 步长] 列表[开始:] |
省略结束下标 | 从该方向取到最后一个元素 |
列表[: : 步长] 列表[:] |
省略开始下标和结束下标 | 从该方向从头取到尾 |
3)遍历列表
将列表中的元素一个一个取出来
a. 直接遍历获取元素
for 变量 in 列表: 循环体
animals = ['cat', 'dog', 'pig'] for animal in animals: print(animal)
b. 通过下标遍历
animals = ['cat', 'dog', 'pig'] length = len(animals) for index in rang(length): print(animals[index])
4)下标越界
只有切片时允许下标越界,其他情况报错
3. 增删改
1)增
a. append
代码形式 | 说明 |
---|---|
列表.append(元素) | 在列表的末尾增加一个元素 |
b. insert
代码形式 | 说明 |
---|---|
列表.insert(下标, 元素) | 在指定的下标前插入一个元素 |
c. extend
代码形式 | 说明 |
---|---|
列表.entend(列表) | 将一个列表的元素依次逐一到指定列表里 |
my_list = [1, 2] my_list.extend([1, 3, 4]) print(my_list) # 结果 [1, 2, 1, 3, 4]
2)删
a. del
代码形式 | 说明 |
---|---|
del 列表[下标] | 删除指定下标对应的元素 |
b. remove
代码形式 | 说明 |
---|---|
列表.remove(元素) | 删除指定元素 |
注意:如果元素不存在会报错
如果要删除的元素在列表里有多个,只删除遇到的第一个
c. pop(返回一个元素)
代码形式 | 说明 |
---|---|
变量 = 列表.pop() | 弹出列表中的最后一个元素 |
变量 = 列表.pop(下标) | 弹出列表中指定下标的元素 |
随堂练习:
""" 删除下面这个列表中所有小于60是元素 """ scores = [89, 45, 56, 20, 90, 78, 60, 23, 87, 20, 50] for score in scores.copy(): if score < 60: scores.remove(score) print(scores)
3)改
代码形式 | 说明 |
---|---|
列表[下标] = 值 | 将指定下标对应的元素修改成特定的值 |
另外,这篇文章总结的挺不错https://blog.csdn.net/weixin_42589922/article/details/80883726
作业
"""1. 已知一个数字列表,求所有元素和。""" def sum_list(list_need_sum): """列表元素求和""" return sum(list_need_sum) """2. 已知一个数字列表,输出所有奇数下标元素的列表。""" def get_odd_index(list_need_odd): """返回奇数下标元素的列表""" return list_need_odd[1::2] """3. 已知一个数字列表,输出所有元素中,值为奇数的元素。""" def get_odd_num(list_need_odd): """返回奇数元素""" return [i for i in list_need_odd if i & 1 != 0] """4. 已知一个数字列表,将所有元素乘二。""" def double_list(list_need_double): """返回每个元素double的列表""" return [i * 2 for i in list_need_double] """5. 列表去重""" def unti_repeat(list_need_clear_repeat): """列表去重""" return list(set(list_need_clear_repeat)) """6. 将数字列表(0~6535) 转换成数字对应的字符列表""" def exchange_ascii(list_need_exchange): """数字转字符""" return [chr(i) for i in list_need_exchange] """7. 有两个列表A和B,使用列表C来获取两个列表中公共的元素""" def get_intersection(list1, list2): """获取交集元素""" # 这里用列表会有重复,所以用集合 return set(i for i in list1 if i in list2) """8. 获取列表中的最大值(without max())""" def get_max_num(list1): """求最大值""" # 这里用冒泡排序中的一个循环来做此题,虽然麻烦 for i in range(len(list1) - 1): if list1[i] > list1[i + 1]: list1[i], list1[i + 1] = list1[i + 1], list1[i] return list1[-1] """9. 获取列表中出现次数最多的元素""" def get_most_num(list1): """获取最多元素""" # count方法太无聊,就不写了,尝试用集合来弄 while len(set(list1)) != len(list1): for num in set(list1[:]): list1.remove(num) return list1
作业解答from老师
# 6.有一个长度是10的列表,数组内有10个人名,要求去掉重复的 # 例如:names = ['张三', '李四', '大黄', '张三'] -> names = ['张三', '李四', '大黄'] # 方法一: names = ['张三', '张三', '张三', '李四', '李四','大黄', '张三', '小明', '张三','李四'] index = 0 while index < len(names): n1 = names[index] index2 = index + 1 while index2 < len(names): if n1 == names[index2]: del names[index2] continue index2 += 1 index += 1 print(names) # 方法二 names = ['张三', '张三', '张三', '李四', '李四','大黄', '张三', '小明', '张三','李四'] names = list(set(names)) print(names) # 8.用一个列表来保存一个节目的所有分数,求平均分数(去掉一个最高分,去掉一个最低分,求最后得分) list9 = [60, 70, 89, 90, 88, 92, 97, 95] sum1 = 0 max1 = list9[0] min1 = list9[0] for num in list9: # 求和 sum1 += num # 求最大值 if num > max1: max1 = num # 求最小值 if num < min1: min1 = num
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- Python学习笔记_Day4 如何操作列表
- Python学习笔记 Day4 列表 part 3及for循环
- Python 学习笔记 -- 变量、元组、列表、字典和集合
- python学习笔记——字符串,列表,字典,集合,数值,sorted
- Python学习笔记 - 7.列表(List)
- Python学习笔记:列表,元组和字典
- Python学习笔记3―Python列表
- Python中列表、字典、元组数据结构的简单学习笔记
- python的list列表学习笔记
- python 学习笔记(2)数据类型1 (bool型, 数值类型,lists列表类型)
- [python]学习笔记——列表
- [Python]学习笔记之列表
- python3.4学习笔记(十一) 列表、数组实例
- 【零基础入门学习Python笔记013】元祖:戴上了枷锁的列表
- Python中列表、字典、元组数据结构的简单学习笔记
- Python学习笔记——列表
- python学习笔记5—序列与列表的操作
- python学习笔记:列表
- python学习笔记之一:列表与元组
- Python学习笔记:列表、元组、字典