python基础(6):列表(附有代码)

✅作者简介:大家好我是Xlong,一枚正在学习COMSOL、Python的工科研究僧
📃个人主页: Xlong的个人博客主页
🔥系列专栏:Python学习
💖如果觉得博主的文章还不错的话,请👍支持一下博主哦🤞

本篇简介

        在上一章《python基础(5):循环结构》中简单介绍了组织结构中的循环结构。这一篇文章我们主要来学习列表的相关知识。

目录

本篇简介

一、列表的创建与删除

1.1 为什么需要列表?

1.2 列表的创建方式

 1.3 列表的特点

二、列表的查询操作

2.1 获取列表中指定元素的索引

2.2 获取列表中的单个元素

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

2.4 列表元素的查询操作

三、列表元素的增、删、改操作

3.1 列表元素的增加操作

3.2 列表元素的删除操作 

3.3 列表元素的修改操作

 四、列表元素的排序

4.1 调用sort(方法)

4.2 调用内置函数sorted()

五、列表生成式


一、列表的创建与删除

1.1 为什么需要列表?

(1)变量可以存储一个元素,而列表是一个“大容器”可以存储N多个元素,程序可以方便地对这些数据进行整体操作

(2)列表相当于其他语言中的数据

lst = ['hello','world',98]
print(id(lst))
print(type(lst))
print(lst)

1.2 列表的创建方式

(1)使用中括号

(2)调用内置函数list()

列表需要使用中括号[],元素之间使用英文的逗号进行分隔 !

'''第一种方式,使用[]'''
lst = ['hello','world',88]
'''第二种方式,使用内置函数list()'''
lst2(['hello','world',98])

 1.3 列表的特点

(1)列表元素按顺序有序排列

(2)索引映射唯一一个数据

(3)列表可以存储重复数据

(4)任意数据类型混存

(5)根据需要动态分配和回收内存

二、列表的查询操作

2.1 获取列表中指定元素的索引

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

2.2 获取列表中的单个元素

lst = ['hello','world',98,'hello','world',234]
#获取索引为2的元素
print(lst[2])
#获取索引为-3的元素
print(lst[-3])
#获取索引为10的元素
print(lst[-10])#IndexError: list index out of range

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

lst = [10,20,30,40,50,60,70,80]
#start = 1,stop = 6,step = 1
# print(lst[1:6:1])
print('原列表',id(lst))
lst2 = lst[1:6:1]
print('切的片段:',id(lst2))
print(lst[1:6]) #默认步长为1
print(lst[1:6:1])
#start = 1,stop = 6,step = 2
print(lst[1:6:2])
#stop = 6,step = 2,start采用默认
print(lst[:6:2])
#start = 1,step = 2,stop采用默认
print(lst[1::2])
print('------step步长为负数的情况--------')
print('原列表:',lst)
print(lst[::-1])
#start = 7 stop省略 ,step=-1
print(lst[7::-1])
#start = 6,stop = 0,step = -2
print(lst[6:0:-2])

2.4 列表元素的查询操作

(1)判断指定元素在列表中是否存在

print('p' in 'python')
print('k' not in 'python')
lst = [10,20,'python','hello']
print(10 in lst)  #True
print(100 in lst) #False
print(100 not in lst) #True

(2)列表元素的遍历  

lst = [10,20,'python','hello']
for item in lst:
    print(item)

三、列表元素的增、删、改操作

3.1 列表元素的增加操作

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

#向列表的末尾添加一个元素
lst = [10,20,30]
print('添加元素之前',lst,id(lst))
lst.append(100)
print('添加元素之后',lst,id(lst))

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

lst = [10,20,30]
lst2 = ['hello','world']
#向列表的末尾一次性添加多个元素
lst.extend(lst2)
print(lst)           运行结果:[10, 20, 30, 'hello', 'world']

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

lst = [10,20,30]
lst2 = ['hello','world']
#在任意位置上添加一个元素
lst.insert(1,90)
print(lst)          运行结果:[10, 90, 20, 30]

(4)切片:在列表任意位置添加至少一个元素

lst = [10,20,30]
lst3 = ['True','False','hello']
lst[1:] = lst3
print(lst)

3.2 列表元素的删除操作 

(1)remove():

  • 一次删除一个元素

  • 重复元素只删除第一个

  • 元素不存在抛出ValueError

lst = [10,20,30,40,50,60,70]
lst.remove(30) #从列表中移除一个元素,如果有重复元素只移第一个元素
print(lst)
# lst.remove(100)#ValueError: list.remove(x): x not in list
print(lst)

(2)pop():

  • 删除一个指定索引位置上的元素

  • 指定索引不存在抛出IndexError

  • 不指定索引,删除列表中最后一个元素

lst = [10,20,30,40,50,60,70]
#pop()根据索引去移除元素
lst.pop(1)
print(lst)
# lst.pop(6) #IndexError: pop index out of range
lst.pop() #如果不指定参数(索引),将删除列表中的最后一个元素
print(lst)

(3)切片:

  • 一次至少删除一个元素

lst = [10,20,30,40,50,60]
print('-----删除至少一个元素,将产生一个新的列表对象-----')
new_list=lst[1:3]
print('原列表',lst)
print('切片后的列表',new_list)
print('-----不产生新的列表对象,而是删除原列表中的内容-----')
lst[1:3] = []
print(lst)

(4)clear():

  • 清空列表

'''清除列表中的所有元素'''
lst = [10,20,30,40,50,60]
lst.clear()
print(lst)

(5)del:

  • 删除列表

'''del语句将列表对象删除'''
lst = [10,20,30,40,50,60]
del lst
print(lst)     运行结果:NameError: name 'lst' is not defined

3.3 列表元素的修改操作

(1)为指定索引的元素赋予一个新值

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

(2)为指定的切片赋予一个新值

lst = [10,20,30,40]
lst[1:3] = [200,300,400]
print(lst)

 四、列表元素的排序

4.1 调用sort(方法)

列表中所有元素默认按照从小到大的顺序进行排序,可以指定reverse = True,进行排序降序

lst = [20,40,10,98,54]
print('排序前的列表',lst)
#开始排序,调用列表对象的sort方法,默认升序排序
lst.sort()
print('排序后的列表',lst,id(lst))
#通过指定关键字参数,将列表中的元素进行降序排序
lst.sort(reverse=True) #reverse=True,表示降序排序,reverse=False就是升序排序
print(lst)
lst.sort(reverse=False)
print(lst)

4.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)

五、列表生成式

列表生成式:简称“生成列表的公式”,语法格式为:

[i*i for i in range(1,10)]
#i*i是表示列表元素的表达式,其中通常包含自定义变量
#i是自定义变量
#range(1,10)是可迭代对象
lst = [i*i for i in range(1,10)] #i*i是表示列表元素的表达式,其中通常包含自定义变量
print(lst)       运行结果为:[1, 4, 9, 16, 25, 36, 49, 64, 81]
'''列表中元素的值为2,4,6,8,10'''
lst2 = [i*2 for i in range(1,6)]
print(lst2)

 未完待续.................................................................

原创不易,各位看官请随手点下Follow和Star,感谢!!!

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xlong~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值