美文网首页
关于列表的一些操作

关于列表的一些操作

作者: 52e0cdadb280 | 来源:发表于2022-03-19 16:53 被阅读0次

获取元素的索引

lst = ['we',123 ,'ppt','chat',123]

print(lst.index(123)) # 获取指定元素的索引,如果列表中存在N个相同元素,只返回相同元素中的第一个元素的索引

print(lst.index('chat',1,4)) # 可以通过索引的范围查找,list.index('要查找的对象',star,stop)  [star,stop) 左闭右开区间

获取列表中的元素

print(lst[2])#获取索引为2的元素  (正向索引:0,1,2,3....n)

print(lst[-2])# 获取倒数第2个(索引为-2)的元素 (反向索引:-1.-2.-3....-n)

获取列表中的多个元素(切片操作)

"""

切片语法格式: 列表名[start:stop:step]  切片范围[start,stop)  step默认为1,    

step为正数时:从start开始往后计算切片                                                                                                                           [:stop:step] 切片的第一个元素默认时列表的第一个元素                                                                                         [start::step] 切片的最后一个元素默认时列表最后一个元素    

step为负数时:从start开始往前计算切片                                                                                                                           [:stop:step] 切片的第一个元素默认时列表的最后一个元素                                                                       [start::step] 切片的最后一个元素默认为列表的第一个元素

"""

lst1 = [100,200,300,400,500,600,700,800,900]

print(lst1[1:6])    #输出结果:[200, 300, 400, 500, 600]

print(lst1[1:6:2])    #输出结果:[200,400,600]

print(lst1[:6:2])    #输出结果:[100,300,500]

print(lst1[2::2])    #输出结果:[300,500,700,900]

print(lst1[::-1])    #输出结果:[900, 800, 700, 600, 500, 400, 300, 200, 100]  倒序

print(lst1[6:1:-1])    #输出结果:[700,600,500,400,300]

print(lst1[6::-2])    #输出结果:[700,500,300,100]

print(lst1[6:0:-2])    #输出结果:[700, 500, 300]

列表元素的增加操作

append()   在列表的末尾添加一个元素

extend()  在列表的末尾至少添加一个元素

insert() 在列表的任意位置添加一个元素

切片 在列表的任意位置添加至少一个元素

lst = [10,22]

lst.append('hello')

print(lst)#[10, 22, 'hello']

## append 与 extend的区别

lst1 = ['a','b',12]

lst2 = ['welcome','hello']

lst1.append(lst2)#把lst2整个列表作为一个元素加入lst1

print(lst1)    #['a', 'b', 12, ['welcome', 'hello']]

lst1 = ['a','b',12]

lst1.extend(lst2)    #把lst2的元素一个个加入lst1

print(lst1)    # ['a', 'b', 12, 'welcome', 'hello']

## insert

lst = ['ww',23.10,30,'A']

lst.insert(1,90)    # 在索引为1的位置上添加元素90

print(lst)    # ['ww', 90, 23.1, 30, 'A']

## 切片

lst = [1,2,3]

lst1 = ['a','b','c']

lst[1:] = lst1    # 把列表lst中从索引1开始的位置都替换为lst1中元素

print(lst)    # [1, 'a', 'b', 'c']

列表元素删除操作

"""

remove(指定元素):1.一次删除一个元素                                                                                                                       2.重复元素只删除第一个                                                                                                               3.元素不存在抛出ValueError

pop(索引):1.删除一个指定索引位置上的元素                                                                                                  2.指定索引不存在抛出IndexError                                                                                                  3.不指定索引时,默认删除列表中最后一个元素

切片:1.通过切片截取你想要的那部分,产生一个新的列表对象                                                                 2.通过将原列表中指定不要的部分用[]替代

clear():清空列表

del: 删除整个列表对象

"""

remove()

lst2 = [10,20,30,40,50,60,70,80,90,30]

lst2.remove(30)

print(lst2)    #输出结果[10, 20, 40, 50, 60, 70, 80, 90, 30]

lst3 = [1,2,3,4,5,6,7,8]

pop()

lst3.pop(3)

print(lst3)    #输出结果[1, 2, 3, 5, 6, 7, 8]

lst3.pop()    # 如果不指定参数,将删除列表中的最后一个元素

print(lst3)    #输出结果[1, 2, 3, 5, 6, 7]

切片

lst4 = [1,2,3,4,5,6,7,8]

new_lst = lst4[1:3]

print(f'原列表:{lst4}')    #输出结果[1,2,3,4,5,6,7,8]

print(f'原列表:{new_lst}')    #输出结果[1,4,5,6,7,8]

不产生新的列表对象,而是删除原列表中的内容:

lst4[1:3]=[]# 将原列表中[1,3)的位置用[]替代

print(lst4)# 输出结果[1, 4, 5, 6, 7, 8]

clear & del

lst3.clear()

print(lst3)  # []

del lst4    # del语句,将列表对象删除

# print(lst4)     # NameError: name 'lst4' is not defined  因为对象都不存在了

列表元素的修改操作

"""

1、为指定索引的元素赋予一个新值                                                                                                                  2、为指定的切片赋予一个新值

"""

lst5 =[10,20,30,40,50,60]

lst5[2] ='三十'      #将索引为2的元素修改为‘三十’

print(lst5)    #输出结果 [10, 20, '三十', 40, 50, 60]

lst5[1:3] = ['twenty','thirty']

print(lst5)    # 输出结果[10, 'twenty', 'thirty', 40, 50, 60]

lst5[3:4] = ['forty','forty-one','forty-two']

print(lst5)    # 输出结果[10, 'twenty', 'thirty', 'forty', 'forty-one', 'forty-two', 50, 60]

列表的排序操作

"""

1、不产生新的列表对象:调用sort()方法,列表中的所有元素默认按照从小到大的顺序进行排序,可以指定reverse=True, 进行降序排序

2、产生新的列表对象:调用内置函数sorted(),可以指定reverse=True,进行降序排序,原列表不发生改变

"""

print('-------------------使用sort()排序,不产生新对象(以下例子中可以看出前后id相同)-------------------------')

lst = [30,12,4,2,1,6,290,22,3]

print('排序前的列表', lst, id(lst))    #输出结果:排序前的列表[30, 12, 4, 2, 1, 6, 290, 22, 3] 2449346640584

lst.sort()

print('从小到大排序后的列表', lst, id(lst))    #输出结果:从小到大排序后的列表[1, 2, 3, 4, 6, 12, 22, 30, 290] 2449346640584

lst.sort(reverse=True)

print('降序排序后的列表', lst, id(lst))    #输出结果:降序排序后的列表[290, 30, 22, 12, 6, 4, 3, 2, 1] 2449346640584

print('-------------------使用内置函数sorted()排序,将产生一个新的列表对象,原列表不发生改变---------------------')

lst = [22,1,33,44,11,99,66,32]

print('原列表', lst)    # 原列表[22, 1, 33, 44, 11, 99, 66, 32]

 new_lst = sorted(lst)

print('重新输出原列表',lst)    # 重新输出原列表[22, 1, 33, 44, 11, 99, 66, 32]

print('排序后的列表',new_lst)    # 排序后的列表[1, 11, 22, 32, 33, 44, 66, 99]

# 实现降序排序

new_lst = sorted(lst,reverse=True)

print(new_lst)     # [99, 66, 44, 33, 32, 22, 11, 1]

列表生成式(列表推导式)

l1 = []

for i in range(1,10):

l1.append(i)

# 以上写法可以用列表推导式简写:

l2 =[i for i in range(1,10)]

print(f'l1:{l1}')

print(f'l2:{l2}')

# 加判断条件  满足偶数条件才放到列表当中

l3 = [i for i in range(1,10)if i%2==0]

print(f'l3:{l3}')

# 包含循环嵌套和判断筛选

##需求描述:从列表中取到偶数,得到一个新列表

l5 = [[1,2,3], [4,5,6], [7,8,9]]

l6 = []

for y in l5:

    for x in y:

        if x%2 ==0:

            l6.append(x)

print(f'l6:{l6}')

##写成列表推导式

l7 = [x for y in l5 for x in y if x%2==0]

print(f'l7:{l7}')

相关文章

  • 关于列表的一些操作

    获取元素的索引 lst = ['we',123 ,'ppt','chat',123] print(lst.inde...

  • Python初学(十八)

    列表类型的操作 列表的操作函数 列表类型继承序列类型特点,有一些通用的操作函数 min(ls)和max(ls)分别...

  • Python入门(五)

    列表操作 上次课程我们将到了列表,接着我们继续来看列表的一些操作 删除列表中的元素 del 函数可以删除列表中的元...

  • 4 列表进阶

    本章将介绍常规的一些列表操作,用来帮助更好地使用列表。 4.1 遍历列表 对于列表,经常的一种操作是遍历列表中的每...

  • day8-总结

    关于列表(list)的其他操作 1.修改列表元素:列表名[下标]=值 获取列表长度:len(list5) 2.列表...

  • 15天Python入门 Day03:列表之二

    导读 在上一章中,我们学习了什么是列表,如何对列表进行增删改操作以及介绍了一些常用的关于列表的方法,在这一章里,我...

  • iOS 中关于列表滚动流畅方案的一些探讨

    iOS 中关于列表滚动流畅方案的一些探讨 iOS 中关于列表滚动流畅方案的一些探讨

  • python numpy学习总结

    Python列表的一些操作 1、列表(list)的元素删除方法 a.pop(index):删除列表a中index处...

  • Python 列表的常见问题

    列表 列表是最常用的数据类型之一,本文整理了 StackOverflow 上关于列表操作被访问最多的10个问答,如...

  • 03.列表操作

    列表的操作 基本操作列表迭代与解析索引与分片列表数据操作其他操作 1. 基本操作 2. 列表迭代与解析 3. 索引...

网友评论

      本文标题:关于列表的一些操作

      本文链接:https://www.haomeiwen.com/subject/vfewdrtx.html