【Python学习笔记Day12】3.3 列表三(操作符、BIF内置方法、复制、列表推导式)

1. 列表的常用操作符

1)比较操作符
print("比较操作符")
list1 = [123]
list2 = [456]
print(list1 > list2)    #一个元素的列表比较, 打印Flase
list1 = [123,456]
list2 = [234,123]
print(list1 > list2)    #两个元素的列表比较, 打印False, 和字符串的比较相同,比较ASSIC

在这里插入图片描述

2)逻辑操作符 and or not
print("逻辑操作符")
list3 = [123,456]
result = list1 < list2 and list1 == list3
print(result)    #  打印结果为True

在这里插入图片描述

3)连接操作符 +
print("连接操作符")
list4 = list1 + list2
print(list4)    #两个列表的,拼接, 但是尽量使用extend语法来添加一个列表

在这里插入图片描述

4)重复操作符 *
print("重复操作符")
print(list3 *3) #list3 重复3次
list3 *= 3      #list3 倍增3次
print(list3)
list3 *= 5      #list3 再继续倍增3次
print(list3)

在这里插入图片描述

5)成员关系操作符
print("成员关系操作符")
print(123 in list3)     #返回True

在这里插入图片描述
#对于列表里面的列表里的元素

list5 = [1,2,3, ['weivid',2,344],4]  #weivid是列表中列表中的元素
print('weivid' in list5)    #返回False
print('weivid' in list5[3]) #返回True
#与访问数组的二维类似
print(list5[3][1])  #访问列表中列表中的元素。打印weivid

在这里插入图片描述

2. 列表类型的内置方法BIF

查看内置的BIF方法

print(dir(list))

在这里插入图片描述

1)count方法 计算参数再列表中出现的次数
print(list3)
count1 = list3.count(123)
print(count1)   #打印15次,123在list3 中出现的参数

在这里插入图片描述

2)index方法 返回参数在列表中位置
index1 = list3.index(123)
print(index1)   #打印123出现的第一个位置,打印 0
index2 = list3.index(123, 3,7)
print(index2)   #打印 4 , 表示在第4个和第8 个位置之间,出现123 的位置是第5 个

在这里插入图片描述

3)reverse方法 将整个列表翻转
print(list5)
list5.reverse()
print(list5)  #顺序会翻转

在这里插入图片描述

4)sort 方法 用指定方式对列表排序,默认从小到大

sort(func,key,reverse=False) 默认

list6 = [1,3,4,523,5,56,77,51]
print(list6)
list6.sort()
print(list6)    #从小到大排序

在这里插入图片描述
#从大到小排序

list6.sort(reverse = True)
print(list6)    #从大到小排序

在这里插入图片描述

5)copy()方法 和使用分片拷贝复制的方法是一样的
print("copy函数")
print(list6)
list6copy = list6.copy() #复制
print(list6copy)

在这里插入图片描述

6)clear()方法 用于清空列表中的元素,得到一个空列表
print("clear函数")
print(list6)
list6.clear()
print(list6)    #空列表

在这里插入图片描述

3. 列表的拷贝

上一讲中最后也提到了列表的拷贝,分片
使用分片创建列表的拷贝

list6 = [1,3,4,523,5,56,77,51]
print('\n',list6)
list7 = list6[:]    #拷贝另一个列表,两份
list8 = list6       #换一个列表标签,并没有复制

list6.sort()
print(list7)
print(list8)    #list8也跟着sort对list排序后的列表改变了

在这里插入图片描述

4. 列表推导式/列表解析

灵感取自函数式编程语言 Haskell,可以动态的创建列表
[表达式 for A in B]

print("列表推导式")
list0 = [i*i for i in range(10)]
print(list0) #打印0——9的平方数

在这里插入图片描述
也可以写成:

"""
list0 = []
for i in range(10):
    list0.append(i*i)
"""

练习题

1.将下面的的列表中的weivid修改为wangwei

list1 = [1,[1,2,[‘weivid’,0,2]],3,2,1,3,43]

list1 = [1,[1,2,['weivid',0,2]],3,2,1,3,43]
list1[1][2][0] = 'wangwei'
2. 对一个列表惊醒顺序排序和逆序排序,可以使用什么方法

顺序排序可以使用 列表名.sort()
逆序排序可以使用 列表名.sort(reverse = True)或者
列表名.sort() 列表名.reverse()

3. 用程序还原下列表 列表推导式

list1 = [(x,y) for x in range(10) for y in range(10) if x%2 == 0 if y%2 != 0]

list1 = []
for x in range(10):
    for y in range(10):
        if x%2 == 0:
            if y%2 != 0:
                list1.append((x,y))
print(list1)
发布了105 篇原创文章 · 获赞 71 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/vivid117/article/details/104417755