python基础知识之列表

一.列表的创建方式

1.[ ]

lst=['hehe','you',21,'you']  # []这种形式为 列表

输出结果为:

[‘hehe’, ‘you’, 21, ‘you’]

2.list()

lst2=list(['python','java',987,'python'])      # 列表可以储存重复数据
print(lst2)                 #查看    值  value
print(id(lst2))             #查看  数据id
print(type(lst2))           #查看  数据类型

对应的输出结果为:

[‘python’, ‘java’, 987, ‘python’]
2178683755328
<class ‘list’>

二.列表的索引

解析:

列表中各个元素有相应的位置,这个位置叫做索引
各元素
从左向右依次增加的索引为正数,从0开始
从右向左依次减小的索引为负数,从-1开始
举例:

lst=['he','you',21,13,14]

各元素相对应的索引如下图所示: (‘/’:或者)

元素索引
he0/-5
you1/-4
212/-3
133/-2
144/-1

索引的调用:

1.基本用法:

list1=[1,2,3,'hello',12,'hello']
print(list1[0])
print(list1[-1])

输出结果为:

1
hello

2.函数index()

对函数的解释:
index 是获取指定元素的索引
举例:

list1=[1,2,3,'hello',12,'hello']
print(list1.index('hello'))
print(list1.index(3,1,4))  
print(list1.index(3,4,5))

对应的输出结果为:

3
2
print(list1.index(3,4,5))
ValueError: 3 is not in list

对此代码后两个print()的解释

print(list1.index(3,1,4)) 中该处的 3 为列表中的一个元素,1,4的意思为:在索引1到4(不包含4)中查询,并输出3的索引,若不在此范围中,程序报错
print(list1.index(3,1,4)) 输出结果为:2
print(list1.index(3,4,5)) 输出结果为:报错

三.列表的增删改操作:

1.列表元素的增加

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

:添加后 不产生新的列表
不产生新的列表的含义为添加过元素之后的列表与原列表的id相同
举例:

lst4=[1,2,3,4]
lst4.append(100)
print(lst4)          

输出结果为:

[1,2,3,4,100]

lst4=[1,2,3,4]
lst5=['hello','you']
lst4.append(lst5)          
print(lst4)

注:
把lst5看做一个元素 添加到lst4中
输出结果为:

[1, 2, 3, 4, 100, [‘hello’, ‘you’]]

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

举例:

lst4=[1,2,3,4]
lst5=['hello','you']
lst4.extend(lst5)         
print(lst4)

这是把lst5的元素加入到lst4列表的末尾
输出结果为:

[1, 2, 3, 4, 100, [‘hello’, ‘you’]]

③ 在列表的任意一个地方添加一个元素 insert()

lst5=['hello','you']
lst5.insert(1,31)       
print(lst5)

在lst5中索引为 1 的位置上添加个 31
输出结果为:

[‘hello’, 31, ‘you’]

2.切片

概念:
切片 就是取下列表的一段元素 取过后则为一个 新 的列表(ip地址发生改变)

① 步长为正数:

代码举例:

lst3=[1,2,3,4,5,6,7,8,9]
print(lst3[1:7:2])      

输出结果为:

[2,4,6]
对此代码的解释为:

该切片从 索引为 1 开始到索引为 6 结束 步长为 2
注意步长 跳过 3 5 7

lst3=[1,2,3,4,5,6,7,8,9]
print(lst3[:7:])

输出结果为:

[1, 2, 3, 4, 5, 6, 7]
对此代码的解释为:

该切片从索引为 0 开始到索引为 6 结束 步长默认为1

默认的参数:

[start:stop:step]
默认 start从 0 开始 stop到结束为止 步长为 1 也可 print(lst3[1:4]) 直接默认步长

②步长为负数:

步长为负数的时候,向反方向取元素
举例:

lst3=[1,2,3,4,5,6,7,8,9]
print(lst3[8:0:-2])  

输出结果为:

[9,7,5,3]
对此代码的解释为;

从索引为 8 的元素开始,到索引为 0 的元素结束, 反方向步长取 2

③在任意位置上添加多个元素

代码举例;

lst6=[12,121]
lst7=[11]
lst6[1:]=lst7        
print(lst6)

输出结果为:

[12, 11]
对此代码的解释为;

[start:stop] 从索引为1开始 到–结束 切掉换成lst7

④切片的其他操作

切片是产生一个新的列表 若不产生新的列表 而是删除原列表中的内容
代码举例:

lst8=[10,20,30,40]
lst8[1:3]=[]
print(lst8)                          #删除索引为 1和2的元素  不包括 3

输出结果为:

[10, 40]
此代码的解释为:

删除索引为 1和2的元素 不包括 3

3.列表元素的删减

① remove() 函数

解释以及使用方法:
一次移除一个元素 重复元素移除第一个 lst.remove(需要移除的元素)
代码举例:

lst8=[1,2,3,4,5,6,7]
lst8.remove(2)
print(lst8)

输出结果为:

[1, 3, 4, 5, 6, 7]

注:
若代码如下操作:

lst8=[1,2,3,4,5,6,7]
print(lst8.remove(2))

输出结果为;

None/

② pop() 函数

解释以及使用方法:
移除指定索引上的一个元素 不指定则移除最后一个元素
lst.pop(需要移除的元素的索引)
代码举例;

lst8=[1,2,3,4,5,6,7]
lst8.pop(2)
print(lst8)

输出结果为:

[1, 2, 4, 5, 6, 7]

③del 删除列表 clear 清空列表

eg:
lst8.clear()
del lst8

4.列表元素的修改

① 一次修改一个元素

lst10=[1,2,3,4,5]
lst10[2]=100                
print(lst10)

把lst10索引为2的元素修改为 100
输出结果为:

[1, 2, 100, 4, 5]

② 运用切片 修改列表元素

lst10=[1,2,3,4,5]
lst10[1:3:]=[100,200,300]  
print(lst10)

默认步长为1 将索引为1至3 不包括3 的元素修改为该元素
输出结果为:

[1, 100, 200, 300, 4, 5]

四.列表元素的排序操作

1.sort()函数

lst10=[1,2,3,4,5]
lst10.sort(reverse=True)      
print(lst10)

reverse=True降序排列。 reverse=False升序排列

2.sorted()函数

lst=sorted(lst10) 升序排列 lst=sorted(lst10,reverse=True) 降序排列

五. 列表生成式

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

输出1~10的整数 不包括10 先将1其存在 i 中 之后输出

lst11=[i*i for i in range(1,12)]             

i*i 则输出就是其平方 意思就是 可以在这个位置做些文章

六.判断指定元素是否在该列表中存在

lst2=list(['python','java',987,'python'])
print(4 in lst2)      #输出结果为 False
print('python' in lst2)      #输出结果为  Ture
  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

汴京城下君

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

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

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

打赏作者

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

抵扣说明:

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

余额充值