Day7-列表进阶

Day7-列表进阶

1.列表相关操作

  • 1.数学运算

    • 列表1+列表2 ----- 将列表1和列表2中的元素合并成一个元素(按顺序合并,1在前2在后)
    • 列表*N ----------N个指定列表合并成一个新的列表(列表中的元素重复N次产生一个新的列表)
  • 2.比较运算

    • 比较相等运算符==、!=-----顺序内容完全一样才会相等

    • 比较大小运算符<、>、>=、<=

      两个列表比较大小、比较的是第一个不相等的元素的大小

      list1 = [20, 300, 400, 500]
      list2 = [21, 2]
      print(list1 > list2)        # False
      
  • 3.in和not in

    • 元素 in 列表 ------ 判断列表中是否存在指定元素

    • 元素 not in列表---------判断列表中是否不存在指定元素

      # 练习:已知一个列表保存了多个学生的姓名,要求去掉列表中重复的名字
      names = ['小明', '张三', '李四', '张三', '张三', '小明', '王五', '王五']
      
      # 方法1:
      new_names = []
      for name in names:
          if name not in new_names:
              new_names.append(name)
      print(new_names)        # ['小明', '张三', '李四', '王五']
      
      # 方法2:
      names = ['小明', '张三', '李四', '张三', '张三', '小明', '王五', '王五']
      for x in range(len(names)):
          last_item = names.pop(-1)
          if last_item not in names:
              names.insert(0, last_item)
      print(new_names) 
      

2.相关函数

  • 1.sum(列表)-----求列表中所有元素的和(要求列表中所有的元素都必须是数字)
scores = [29, 34, 8.9, 98, 99]
sum(scores)
sum(range(1, 101))
  • 2.max、min

    • max(列表)---------求列表中最大的元素
    • min(列表)--------求列表中最小的元素
  • 3.sorted(列表)----------将列表中所有的元素从小到大排序,产生一个新的列表,不会修改原列表

    ​ sorted(列表,reverse=Ture)-----将列表中所有的元素从大到小排序

  • 4.list(序列)------- 将指定数据转换成列表(数据必须是容器型数据类型的数据)

3.列表相关方法

  • 1.列表.clear()-----------清空列表

  • 2.列表.copy()-----------复制指定的列表产生一个一模一样的新列表并且返回

  • 3.列表.count(元素)-----------统计列表中指定元素的个数

  • 4.列表.extend(序列)----------------将序列中的元素全部添加到列表的最后(和append区分)

    A.extend([10, 20])
    print(A)        # [29, 78, 9, 23, 10, 20]
    A.append([10, 20])
    print(A)        # [29, 78, 9, 23, [10, 20]]
    
  • 5列表.index(元素)---------获取指定元素在列表中的下标值(0开始的下标值)

  • 6.列表.reverse()--------------将列表倒序

  • 7.列表.sort() ----------将列表中所有的元素从小到大排序,不会产生一个新的列表

​ 列表.sort(reverse=Ture)---------和sorted(列表)区分

4.列表推导式---------快速创建列表的表达式

  • 1.结构1

    [表达式 for 变量 in 序列]

    功能:创建列表,列表中的元素就让变量去序列中取值,取一个值就计算一次表达式的结果,这个结果就是列表的元素

    # 练习1:提取nums中所有元素的个位数
    nums = [78, 34, 661, 90, 75]
    # [8, 4, 1, 0, 5]
    result = [x % 10 for x in nums]
    print(result)
    
  • 2.结构2

​ [表达式 for 变量 in 序列 if 条件语句]

​ 创建一个列表,列表的元素就是变量去序列中取值,取一个值判断一次条件是否成立,成立就计 算一次表达式的结果,并且将结果作为列表的元素

# 提取nums中所有的偶数
# [78, 34, 90]
nums = [78, 34, 661, 90, 75]
result = [x for x in nums if x % 2 == 0]
print(result)       # [78, 34, 90]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值