day7 列表的操作、推导式

列表的相关操作

列表的数学运算

  • 列表1 + 列表2 合并列表1、列表2元素并生成一个新列表
  • 列表 * 正整数 / 正整数 * 列表 N个列表相加
list1 = [1,2,3,4]
list2 = [5,6,7]
print(list1 + list2)
print(list1 * 3)
#显示内容
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]

列表的比较运算

  • 列表1 == 列表2 比较两个列表是否相等
  • 列表1 is 列表2 比较两个列表地址是否相等
  • 列表1 < 列表2 依次比较两个列表元素内大小
list2 = [5,6,7]
list3 = [5,6,7]
print(list2 == list3)
print(list2 is list3)
#显示内容
True
False

相关函数

  • max(列表) 求列表中最大值
  • min(列表) 求列表中最小值
  • 列表元素必须一致,且支持比较运算
list4 = [1,2,3,4,5,6]
print(max(list4))
print(min(list4))
#显示内容
6
1
  • sorted 将列表从小到大排序,产生一个新的列表
  • sorted(列表, reverse = True) 从大到小排序,产生一个新的列表
  • 列表.sort() 将列表从小到大排序,不产生一个新的列表
  • 列表.sort(reverse = True) 从大到小排序,不产生一个新的列表
  • 列表元素必须一致,且支持比较运算
list5 = [2,6,5,4,1,3]
print(sorted(list5))
print(sorted(list5,reverse=True))
#显示内容
[1, 2, 3, 4, 5, 6]
[6, 5, 4, 3, 2, 1]
  • reversed(列表) 将列表反序并产生新的序列
  • reverse(列表) 将原列表元素反序
new_list = reversed(list5)
print(list(new_list))
#显示内容
[3, 1, 4, 5, 6, 2]
  • sum(列表) 返回列表所有元素的和
  • 序列中的元素必须全部是数字
print(sum(list5))
print(sum(range(1,101)))
#显示内容
21
5050
  • list(数据) 将数据转换为列表
  • 所有容器型数据类型都可以转换为列表,数字和布尔为非容器型数据
print(list(range(1,5)))
#显示内容
[1, 2, 3, 4]

列表的相关方法

clear
  • 列表.clear() 清空列表
list1 = [1,2,3,4,5,6]
list1.clear()
print(list1)

#显示内容
[]
  • 列表.copy() 复制列表元素生成一个新列表
list1 = [1,2,3,4,5,6]
list2 = list1.copy()
print(list2)

#显示内容
[1, 2, 3, 4, 5, 6]
  • 列表.count(元素) 统计指定元素在列表中出现的次数
list1 = [1,2,3,4,5,6,1]
list.count(1)
#显示内容
2
  • 列表.extend(序列) 将序列中的元素添加到列表中但不产生新列表
list1 = [1,2,3,4,5,6]
list2 = [7,8,9]
list1.extend(list2)
print(list1)
#显示内容
[1, 2, 3, 4, 5, 6, 7, 8, 9]
  • 列表.index(元素) 获取指定元素在整个列表中的下标,若列表无该元素,则报错;若同时存在多个该元素,则返回前面那一个的下标
  • 列表.index(元素,开始下标,结束下标) 获取指定元素在指定列表中的下标,若列表无该元素,则报错;若同时存在多个该元素,则返回前面那一个的下标
list1 = [1,2,3,4,5,6]
print(list1.index(2))
#显示内容
1

列表的推导式

语法一:
[表达式 for 变量 in 序列]
list1 = [x for x in range(4)]
print(list1)
#显示内容
[0, 1, 2, 3]
语法二:
[表达式 for 变量 in 序列 if 条件语句]
list2 = [x for x in range(5) if x % 2 == 0]
print(list2)
#显示内容
[0, 2, 4]
语法三:
[表达式 for 变量1 in 序列1 for 变量2 in 序列2]
list3 = [x * y for x in range(4) for y in range(3)]
print(list3)
#显示内容
[0, 0, 0, 0, 1, 2, 0, 2, 4, 0, 3, 6]
语法四:
[表达式 for 变量1 in 序列1 for 变量2 in 序列2 if 条件语句]
list4 = [x + y for x in range(4) if x % 2 for y in range(4)]
print(list4)
#显示内容
[1, 2, 3, 4, 3, 4, 5, 6]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容