python_基础编程_列表

一、列表的创建和删除

列表:相当于数组,可以存储多个元素,程序可以方便的队这些数据进行操作。

创建:列表使用中括号 [] ,元素之间使用英文的逗号进行分隔

方式:中括号 + 使用内置函数 list()

lst1 = ['哈哈','nann',1314]   # 0,1,2    -3,-2,-1
print(lst1)
print(lst1[0])    #哈哈
print(lst1[-1])   #1314

lst2 = list(['哈哈','nann',1314])
print(lst2)

列表特点:

1、列表元素按顺序有序排序

2、索引映射唯一个数据

3、列表可以存储重复数据

4、任意数据类型混存

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

二、列表的查询操作

1、获取列表中指定元素的索引:index()

说明:1、若列表中存在 N 个相同的元素,只返回第一个元素的索引

           2、若查询的元素不存在,就会抛出异常

           3、可以在指定的 start 和 stop 之间进行查找

lst1 = ['哈哈','nann',1314,'even',99]   # 0,1,2    -3,-2,-1
# 查找
print(lst1.index('nann'))
# print(lst1.index('py'))   #不存在就报错
print(lst1.index(99,1,5))  #在区间 1,2,3,4(不包括5)里面查找 99 的索引
2、获取列表中的单个元素:用下标表示
lst1 = ['哈哈','nann',1314]   # 0,1,2    -3,-2,-1
print(lst1)
print(lst1[0])    #哈哈
print(lst1[-1])   #1314
3、获取列表中的多个元素

基本语法:列表名[ start : stop :step]

切片结果:原列表片段的拷贝

注意:若step为正数,从start开始往后面计算切片;若step为负数,从start 开始往前面计算切片

lst3 = [22,34,54,57,61,89,44,11]
ls = lst3[0 : 4 : 1]
print(ls)   # 不包括stop位置的数,是一个新的列表对象
print('原列表:',id(lst3))
print('切片:',id(ls))
'''
[22, 34, 54, 57]
原列表: 4374930112
切片: 4374965184
'''
4、判断元素在列表中是否存在

基本语法: 元素 in 列表名

            元素 not in 列表名

通过 for 循环遍历整个列表: for item in 列表名

print( 2 in lst3)
for item in lst3:
    print(item)

三、列表的增、删、改

1、元素的增加:
  • append():在列表的末尾添加一个元素
# 列表元素的增加
print("----列表元素的增加------")
lss = [21,33,10,654,23]
print(lss,id(lss))   #id标识相等,说明依然是原列表
lss.append(100)
lss.append("oo")
print(lss,id(lss))
'''
[21, 33, 10, 654, 23] 4376215360
[21, 33, 10, 654, 23, 100, 'oo'] 4376215360
'''
lss.append(lst1)  #将lst1 作为一个元素添加到lss中去
print(lss,id(lss))
'''
[21, 33, 10, 654, 23, 100, 'oo', ['哈哈', 'nann', 1314, 'even', 99]] 4301733696
'''
  • extend():在列表的末尾至少添加一个元素
lss = [21,33,10,654,23]
lss.extend(lst1)#向列表末尾一次添加多个元素
print(lss)  #[21, 33, 10, 654, 23, 100, 'oo', '哈哈', 'nann', 1314, 'even', 99]
  • insert():在列表的任意位置添加一个元素
lss1 = [2,11,31,4,6,90]
print(lss1)
lss1.insert(2,"x")   #在索引为2 的位置上添加 X
print(lss1)
'''
[2, 11, 31, 4, 6, 90]
[2, 11, 'x', 31, 4, 6, 90]
'''
  • 切片:在列表的任意位置添加至少一个元素
lss1 = [2,11,31,4,6,90]
print(lss1)
lss = ['hello','world']
lss1[2:] = lss   # 把lss 的内容放到 lss1 索引的2 的位置,覆盖本身的内容
print(lss1)
'''
[2, 11, 31, 4, 6, 90]
[2, 11, 'hello', 'world']
'''
2、列表元素的删除
  • remove():一次删除一个元素,元素不存在抛出异常
lss = [2, 11, 90, 2, 4, 6, 90]
print(lss)
lss.remove(11)
print(lss)
'''
[2, 11, 90, 2, 4, 6, 90]
[2, 90, 2, 4, 6, 90]
'''
  • pop():删除指定索引位置上的元素,不指定位置,默认删除最后一个元素
lss.pop(0)
print(lss)
lss.pop()   #不指定就删除最后一个元素
print(lss)
'''
[2, 90, 2, 4, 6, 90]
[90, 2, 4, 6, 90]
[90, 2, 4, 6]
'''
  • 切片:一次至少删除至少一个元素
lss = [2, 11, 90, 2, 4, 6, 90]
print(lss)
lss[1:3] = []   #起始位置1,删除2个元素
print(lss)
'''
[2, 11, 90, 2, 4, 6, 90]
[2, 2, 4, 6, 90]
'''
  • clear():清空列表
lss.clear()
print(lss)
'''
[]
'''
  • del:删除列表
del lss
print(lss)   # lss列表对象已经不存在,输出报错
3、列表的修改
  • 为指定索引赋予一个新值
lss = [2, 11, 90, 2, 4, 6, 90]
print(lss)
lss[2] = 1
print(lss)
'''
[2, 11, 90, 2, 4, 6, 90]
[2, 11, 1, 2, 4, 6, 90]
'''
  • 为指定的切片赋予一个新值
lss[1:3] = [300,400,500]
print(lss)
'''
[2, 11, 1, 2, 4, 6, 90]
[2, 300, 400, 500, 2, 4, 6, 90]
'''

四、列表的排序

排序方式:

  • sort()函数:列中所有的元素默认按照从小到大排序,指定 reverse = true,进行降序升序
lss = [2, 11, 90, 2, 4, 6, 90]
print(id(lss))
lss.sort()
print(lss)
print(id(lss))
'''
4300692160
[2, 2, 4, 6, 11, 90, 90]
4300692160
'''
  • 内置方法 sorted():指定 reverse = true,进行降序升序,原列表不发生变化
lss = [2, 11, 90, 2, 4, 6, 90]
ls0 = sorted(lss)
print(lss)
print(ls0)
'''
[2, 11, 90, 2, 4, 6, 90]
[2, 2, 4, 6, 11, 90, 90]
'''

五、列表的推导式

列表生成式:生成列表的公式

基本语句:i * i for i in range(1,10)

注意:表示列元素的表达式中通常包含自定义变量

print("-------列表生成式------")
listt = [i * i for i in range(1,10)]
print(listt)  #[1, 4, 9, 16, 25, 36, 49, 64, 81]
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱空nnnn

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

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

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

打赏作者

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

抵扣说明:

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

余额充值