列表和元组

列表和元组

列表相关操作和相关函数

1. 列表相关操作
  1. 数学运算符 : + 、*

    列表1 + 列表2 - 将这两个列表合并成一个新的列表

    list1 = [10,20,30]
    list2 = [100,200]
    result = list1 + list2
    print(result)    # [10,20,30,100,200]
    

    列表 * N - 将列表中的元素重复N产生一个新的列表,N表示整数

    list1 = [10,20,30]
    print(list1*2)	#[10, 20, 30, 10, 20, 30]
    
  2. 比较运算符:>、<、>=、<=、==、!=

    ① 比较相等: == 、!=

    list1 = [10,20,30]
    print(list1 == [10,20,30]) 		#True
    print(list1 == [10,200,30]) 	#False
    

    ② 比较大小:>、<、>=、<=

    list1 = [10,20,30]
    list2 = [1,1000,30000,40000]
    list3 = [10,1000,30000,40000]
    print(list1>list2)	#True
    print(list1>list3) 	#False
    #两个列表比较大小,比较的是第一对不相等元素的大小
    
  3. in 和 not in

    语法: 元素 in 列表 —— 判断指定列表中是否存在指定元素

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

    print(10 in [10,2,3])  			#True
    print([10,2] in [10,2,3]) 		#False
    print([10,2] in [[10,2,3]])		#True
    
2. 相关函数(系统函数):sum、max、min、len、sorted、list
sum(列表)			#求列表中所有元素的和(列表必须是数字列表)
max(列表)			#求列表中所有元素的最大值
min(列表)			#求列表中所有元素的最小值
len(列表)			#求列表中元素的个数
sorted(列表)		#将列表中的元从小到大排序,产生一个新的列表
sorted(列表,reverse=True)#将列表中的元从大到小排序,产生一个新的列表

list - 将其他数据转换成列表

list (数据) - 将指定数据转换成列表;{ 所有的序列都可以转换成列表:字符串,range ;将其他序列转换成列表的时候直接将序列的元素作为列表的元素 }

result = list('abc')
result1 = list(range(5))
print(result)			#['a','b','c']
print(result1) 			#[0,1,2,3,4]
列表相关方法
列表.clear() - 清空列表
列表.copy() - 复制指定列表产生一个一样的新列表,将新的列表返回
直接用一个变量给另一个变量赋值,赋的是地址,赋值后会导致两个变量同时指向同一块内存区域。
列表.count(元素) - 统计列表中指定元素的个数。
列表.extend(序列) - 将序列中所有的元素都添加到列表中。
list1 = [10,20,30]
list1.extend([100,200])
print(list1) 			#[10,20,30,100,200]
列表.index(元素) - 获取元素在列表中对应的下标(返回是0开始的那个下标)  如果元素不存在会报错,如果元素有多个,只返回最前面那个元素的下标。
列表.reverse() - 列表倒序
列表.sort() - 将列表元素从小到大排序,不产生新的列表,在原列表直接修改
列表.sort(reverse=True) - 将元素从大到小排序,不产生新的列表,在原列表直接修改
sorted(序列,reverse=True) - 将元素从大到小排序,产生新的列表。
列表推导式
  1. 列表推导式 —— 创建列表的表达式,主要用于对元素进行变换和筛选

    ① 结构 1 :[表达式 for 变量 in 序列] —— 原理:创建一个列表( 让变量去序列中取值,一个一个的取,取一个值就计算一次表达式的结果并且将计算结果作为列表的元素 )

    作用:将原序列中的元素按照指定规则( 表达式 )进行统一变换得到一个列表

    ② 结构 2 :[表达式 for 变量 in 序列 if 条件语句] —— 原理:让变量去序列中取值,一个一个的取,取一个值就判断一次条件语句是否成立,如果成立才计算表达式的结果,并且将结果作为列表的元素

    nums = [28,10,81,301,22]
    # 将nums中所有元素乘二
    print([x*2 for x in nums])
    # 基于nums得到[8,0,1,1,2]
    print([x%10 for x in nums])
    # 基于nums得到[10,1,9,4,4]
    print([x%10+x//10%10+x//100 for x in nums])
    # 基于nums得到[T,T,F,F,T]
    print([x%2==0 for x in nums])
    
    # 基于nums得到[81,301]
    print([x for x in nums if x % 2])
    
    list1 = [10, '12.3', 1.23, 20, 'abc', True]
    # 练习6:基于list1,得到 [10, 20]
    print ([x for x in list1 if type(x)==int])
    
    scores = [18, 89, 67, 90, 45, 34, 12, 89]
    # [89, 67, 90, 89]
    print([x for x in scores if x >= 60])
    
元组
  1. 认识元组

是容器;将()作为容器的标志里面多个元素用逗号隔开:(元素1,元素2,元素3)

不可变的(不支持增删改)

有序的

# 空元组	无意义
t1 = ()

# 单个元素的元组(重要!!!!):必须在唯一的元素后加逗号
t2 = (20,)
  1. 元组就是不可变的列表

列表中和增删改无关的操作,元组都支持

  1. 相关函数:sum、max、min、len、sorted

  2. 部分相关方法:count、index

  3. 元素不只是不可变的列表

    ① 单个元素的元组:(元素,)

    ② 在没有歧义的情况下,元组的()可以省略。

    ③ 获取元素的时候,可以让变量的个数和元组中元素的个数一致

    names=(钢铁侠,蜘蛛侠,猪猪侠,黑寡妇,绿巨人)
    x,*y = names
    print(x,y)	# 钢铁侠 ['蜘蛛侠', '猪猪侠', '黑寡妇', '绿巨人']
    
    *z,k = names
    print(z,k)	# ['钢铁侠', '蜘蛛侠', '猪猪侠', '黑寡妇'] 绿巨人
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值