python列表的生成、查询索引、切片、判断元素是否存在于列表中、增加元素、删除元素、改变元素、排序操作、列表生成式

列表在python中是一个十分重要的知识点,它类似于c++中的数组,但是比数组处理起来方便很多。这篇文章总结了我关于列表的一些认知和重要的知识点:
一、列表的生成:
列表的生成就是最简单的变量名+等于号+中括号的形式

lst=['hello','world',98]

二、列表的查询:
查询一个元素在列表中是否存在主要的关键字为index

lst=['hello','world',98,'hello']
print(lst.index('hello')) #如果列表中有相同元素只返回列表中相同元素的第一个元素的索引

也可以在index关键字后面跟范围来确定索引范围。

print(lst.index('hello',1,3)) #ValueError: 'hello' is not in list   'world',98

print(lst.index('hello',1,4)) #3

上面一行代码会报错,因为hello不在其中,不能返回索引值。

三、列表的切片
切片是从原列表中获取多个元素,进行拷贝,生成新的列表。

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

#start=1,stop=6,step=2
print(lst[1:6:2])

步长也可以为负数,如果为负数,则是往前进行切片:

print(lst[::-1])
#start=7,stop 省略 step=-1
print(lst[7::-1])
#start=6,stop=0,step=-2
print(lst[6:0:-2])
#[80, 70, 60, 50, 40, 30, 20, 10]
[80, 70, 60, 50, 40, 30, 20, 10]
[70, 50, 30]

四、列表的增加元素
1、append 向列表末尾增加一个元素
并未生成新的列表

lst=[10,20,30]
print('添加元素之前',lst,id(lst))
lst.append(100)
print('添加元素之后',lst,id(lst))
lst2=['hello','world']
#lst.append(lst2) #将lst2做为一个元素添加到列表的末尾
#向列表的末尾一次性添加多个元素
lst.extend(lst2)
print(lst)

2、insert 在任意位置添加元素:

#在任意位置上添加一个元素
lst.insert(1,90)#(索引位,元素值)
print(lst)

3、切片法

lst3=[True,False,'hello']
#在任意的位置上添加N多个元素
lst[1:]=lst3
print(lst)

五、删除操作
1、remove移除第一个元素

lst=[10,20,30,40,50,60,30]
lst.remove(30) #从列表中移除一个元素,如果有重复元素只移第一个元素

2、pop删除指定索引位置

lst.pop(1)
print(lst)
#lst.pop(5) #IndexError: pop index out of range  如果指定的索引位置不存在,将抛出异常
lst.pop()  #如果不指定参数(索引),将删除列表中的最后一个元素
print(lst)

3、clear清除列表中的所有元素

lst.clear()
print(lst)

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

lst[1:3]=[]
print(lst)

如果没有赋值空列表那就是用切片的方式生成一个新列表。

六、元素的修改操作
1、指定索引的元素给定一个新的值:

lst=[10,20,30,40]
#一次修改一个值
lst[2]=100
print(lst)

2、修改多个值

print(lst)
lst[1:3]=[300,400,500,600]
print(lst)

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

lst=[20,40,10,98,54]
print('排序前的列表',lst,id(lst))
#开始排序 ,调用列表对象的sort方法,升序排序
lst.sort()
print('排序后的列表',lst,id(lst))

#通过指定关键字参数,将列表中的元素进行降序排序
lst.sort(reverse=True)  #reverse=True 表示降序排序, reverse=False就是升序排序
print(lst)
lst.sort(reverse=False)
print(lst)

tip:我们发现两个id相同,说明是原列表

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

lst=[20,40,10,98,54]
print('原列表',lst)
#开始排序
new_list=sorted(lst)
print(lst)
print(new_list)
#指定关键字参数,实现列表元素的降序排序
desc_list=sorted(lst,reverse=True)
print(desc_list)

两种方式的差别主要在于第二种方式产生新列表,原列表不改变。

八、列表生成式
生成有规律的列表

 

lst=[i*i for i in range(1,10)]
print(lst)

'''列表中的元素的值为2,4,6,8,10'''
lst2=[i*2 for i in range(1,6) ]
print(lst2)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值