元组和字典

元组和字典

列表相关操作

1.数学运算:+,*

列表1 + 列表2 – 将列表1 和列表2 中的元素合并产生一个新的列表

列表 * N (N * 列表) – N必须是正整数,将列表中的元素重复N次产生一个新的列表

list1 = [1, 2, 3]
list2 = [4, 5, 6]
print(list1 + list2)  # [1, 2, 3, 4, 5, 6]
print(list1 * 3)  # [1, 2, 3, 1, 2, 3, 1, 2, 3]
2.比较运算
  1. == !=

补充: is 的用法

== 是判断数据的值是否相等

is 是判断数据对应的地址是否相等

list1 = [1, 2, 3]
list2 = [1, 2, 3]
print(list1 == list2)  # True
print(list1 is list2)  # False
print(list2 is [1, 2, 3])  # False
print(id(list1), id(list2))  # 2111629472392 2111628202504

给不同变量赋相同的数字或字符串时,赋值前系统会先检查这个数字和字符串是否已存在,如果存在会直接返回数据的地址给变量,不存在时才会开辟新的内存返回新的地址

  1. < , > , >= , <=

列表1 > 列表2

print([1, 2, 3, 4] > [100, 200])  # False
print([101, 2, 3, 4] > [100, 200])  # True
3.相关函数
  1. max min
nums = [56, 56, 23, 59, 19, 98, 63]

max(序列) 获取最大值

min(序列) 获取最小值

print(max(nums))  # 98
print(min(nums))  # 19
  1. sorted

sorted(列表) – 将列表中的元素从小到大重新排序产生一个新的列表(不会改变原列表)

sorted(列表,reverse=True) 将列表中的元素由大到小进行排序生成一个新列表

nums = [56, 56, 23, 59, 19, 98, 63]
new_nums = sorted(nums)
print(nums)   #[56, 56, 23, 59, 19, 98, 63]
print(new_nums)   # [19, 23, 56, 56, 59, 63, 98]
print(sorted(nums, reverse=True))  # [98, 63, 59, 56, 56, 23, 19]

  1. reversed

reversed(列表) – 将列表中的元素倒序产生新的迭代器对象

nums=[56, 56, 23, 59, 19, 98, 63]
new_nums = reversed(nums)
print(new_nums)   # <list_reverseiterator object at 0x000001ADD4AD1A88>
print(list(new_nums))     # [63, 98, 19, 59, 23, 56, 56]
  1. sum

sum(列表) – 返回列表中所有函数的和

nums = [56, 56, 23, 59, 19, 98, 63]
sum1 = sum(nums)
print(sum1)   # 374
print(sum(range(1, 101)))   # 1+2+3..+100    = 5050
  1. list

list(数据) – 将数据转换为列表

所有容器型数据类型的数据都看可以转换成列表

将容器中的元素全部转换成列表中的元素

2.列表相关方法
  1. clear

列表.clear() – 清空列表

list1 = [1, 2, 3, 4, 5, 6]
list1.clear()
print(list1)

  1. copy

列表.copy() – 复制列表中的所以元素产生一个新的列表

列表.copy() 浅拷贝

list1 = [1, 5, 3, 4, 69, 7, 8]
list2 = list1  # 直接赋值(赋的是地址,和list1相互影响)
list3 = list1.copy()  # (不会和list1相互影响)
list1.append(100)
print(list1)  # [1, 5, 3, 4, 69, 7, 8, 100]
print(list2)  # [1, 5, 3, 4, 69, 7, 8, 100]
print(list3)  # [1, 5, 3, 4, 69, 7, 8]
  1. count

列表.count(元素) – 统计元素在列表中出现的次数

num = [2, 5, 6, 7, 8, 4, 95, 6, 4, 5, 3, 1, 62, 3, ]
print(nums.count(5)) # 2
  1. extend

列表.extend(序列) – 将序列中的元素添加到列表中(不会产生新的列表)

list1 = [1, 2, 3]
list1.extend([4, 5, 6])
print(list1)  # [1, 2, 3, 4, 5, 6]
  1. index

1) 列表.index(元素) – 获取指定元素的下标

说明:

如果元素不存在会报错

如果指定的元素有多个只会返回最前面的那个的下标值

2)列表.index(元素,开始下标,结束下标) – 获取指定元素在列表中的下标值(查找范围在开始下标到结束下标之间)

nums = [10, 20, 30, 1, 2, 30]
print(nums.index(10))  # 0
print(nums.index(30))  # 2
# print(nums.index(5))   # 报错
print(nums.index(30, 3))  # 5
  1. reverse

列表.reverse() — 将列表中的元素倒序(不会产生新列表)

nums = [1, 2, 3]
nums.reverse()
print(nums)  # [3, 2, 1]
  1. sort

列表.sort – 从小到大排序

列表.sort(reverse=True) — 从大到小排序

nums = [1, 3, 5, 4, 2]
nums.sort()
print(nums)  # [1, 2, 3, 4, 5]

3 .列表推导式

1.列表推导式 – 用来创建列表的表达式
  1. 语法1:

[表达式 for 变量 in 序列]

让变量去序列中取值,每取一个值就创建一个元素(元素的值就是表达式的值)

list1 = [1 for x in range(4)]
print(list1)  # [1, 1, 1, 1]

list2 = [x for x in range(4)]
print(list2)  # [0, 1, 2, 3]

list3 = [2 * x for x in range(4)]
print(list3)  # [0, 2, 4, 6]
  1. 语法2:
    [表达式 for 变量 in 序列 if 条件语句]

让变量取序列中的值,每取一个值就判断条件语句是否为True,shiTrue就创建一个元素(元素的值就是表达式的值)

list4 = [x for x in range(6) if x & 1 == 0]
print(list4)  # [0, 2, 4]

list5 = [x ** 2 for x in range(10) if x % 2]
print(list5)  # [1, 9, 25, 49, 81]
  1. 语法3:

[表达式 for 变量1 in 序列1 for 变量2 in 序列2]

说明:

for 变量1 in 序列1:
for 变量2 in 序列2:
产生元素(值是表达式的结果)

list6=[x*y for x in range(3) for y in range(3)]
print(list6)   # [0, 0, 0, 0, 1, 2, 0, 2, 4]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值