day7列表函数及推导式

1.列表相关的运算符

  1. 列表是可以拿来加和乘的,其他的简单运算不能拿来操作列表
list1 = [10, 20, 30]
list2 = [15, 25]
print(list1 + list2)  # [10, 20, 30, 15, 25]
print(list2 * 3)  # [15, 25, 15, 25, 15, 25]
  1. 列表之间也是可以比较的
# 1) == 、!=
print([10, 20, 30] == [10, 30, 20])     # 输出False,因为列表是有序的,要顺序和值都一样才是True
print([10, 20, 30] == [10, 20, 30])     # 输出True,
# 2) <, >, <=, >=
# 列表比较大小,是比较第一对相关元素的大小
print([10, 20, 30] > [10, 30, 20])    # False

2. 列表的相关函数

  1. max和min
    max 取列表中的最大值
    min 取列表中的最小值
nums = [10, 2, 3, 42, 23, 53, 34, 26, 9]
print(max(nums))
print(min(nums))
  1. sum 函数
    sum(数字序列) – 求序列中所有数字的总和
nums = [10, 2, 3, 42, 23, 53, 34, 26, 9]
print(sum(nums))
  1. sorted 函数
    sorted(序列) – 将序列中的元素从小到大排序,产生一个新的列表
nums = [10, 2, 3, 42, 23, 53, 34, 26, 9]
print(sorted(nums))         # [2, 3, 9, 10, 23, 26, 34, 42, 53]

sorted(序列, reverse = True) - 将序列中的元素从大到小排序,产生新的列表

print(sorted(nums, reverse=True))       # [53, 42, 34, 26, 23, 10, 9, 3, 2]
  1. len 函数
    len(序列) - 获取序列中元素的个数
print(len([1, 2, 3]))  # 3
  1. list 函数
    list(序列) - 将序列的元素作为列表的元素创建一个新的列表
print(list('abc'))   # ['a', 'b', 'c']
print((list(range(3))))  # [0, 1, 2]

3.列表的相关方法

  1. 列表.clear() - 清空列表
nums = [10, 20, 30]
nums.clear()
print(nums)   # []
  1. 列表.copy() - 复制列表产生一个一模一样的新列表
    列表.copy() - 浅拷贝
    列表[:]、 列表*1、列表+[] 都是浅拷贝
nums = [10, 20, 30]
new_nums = nums.copy()
print(new_nums)         # [10, 20, 30]
print(id(nums), id(new_nums))       # 1309285808768 1309285806336
# 两个列表地址不一样
num2 = nums
print('num2', id(num2))             # 1309285808768
# nums 和 num2 地址一样
  1. 列表.count(元素) - 统计列表中指定元素的个数
nums = [10, 20, 30]
print(nums.count(10))   # 1
  1. 列表.extend(序列) - 将序列中的元素全部添加到列表中
print(nums)                 # [10, 20, 30]
nums.extend([10, 30])
print(nums)                 # [10, 20, 30, 10, 30]
nums.extend('edg')
print(nums)                 # [10, 20, 30, 10, 30, 'e', 'd', 'g']
  1. 列表.index(元素) - 获取元素在列表中的下标值(0开始的下标值)
    补充:如果元素有多个返回第一个下标,如果元素不存在,会报错的
nums = [10, 20, 30, 10, 30, 'e', 'd', 'g']
print(nums.index(10))       # 0
# print(nums.index(40))       # ValueError: 40 is not in list
  1. 列表.reverse() - 列表逆序
nums.reverse()
print(nums)             # ['g', 'd', 'e', 30, 10, 30, 20, 10]
  1. 排序
    列表.sort() / 列表.sort(reverse=True)
    sorted(序列) / sorted(序列, reverse=True)
nums = [10, 28, 90, 67, 20]
result = sorted(nums)
print(nums)     # [10, 28, 90, 67, 20]
print(result)   # [10, 20, 28, 67, 90]

nums = [10, 28, 90, 67, 20]
result = nums.sort()
print(nums)     # [10, 20, 28, 67, 90]
print(result)   # None

4.列表推导式

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

  1. 推导式结构1
[表达式 for 变量 in 序列]  -  让变量去序列中取值,一个一个的取,取完为止
                            每将一个值就将表达式的值作为列表的一个元素

# 练习: 使用列表推导式获取nums中所有元素的个位数
nums = [23, 89, 90, 56, 41, 802]
nums2 = [x % 10 for x in nums]
print(nums2)  # [3, 9, 0, 6, 1, 2]
  1. 推导式结构2
[表达式 for 变量 in 序列 if 条件语句]
创建一个列表;变量去序列取值,一个一个的取,取完为止,每去一个值就判断条件语句是否为True,就计算表达式的结果为列表的元素
nums = [23, 89, 90, 56, 41, 802]
result = [x for x in nums if x % 2]
print(result)           # [23, 89, 41]

5. 元组

元组就是不可变的列表
查、in和not in、数学运算、比较运算、相关函数 - 元组都支持
特别注意:

# 空元组
t1 = ()
print(t1, type(t1))

# 有一个元素的元组 (元素, )
t2 = (10,)     # 要有一个逗号才行,没有逗号是 10 <class 'int'>
print(t2, type(t2))  # (10,) <class 'tuple'>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值