Day05(列表)

列表

1.列表的创建

为什么需要列表呢?

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

  • 列表相当于其他语言中的数据。

  • 列表示意图

    在这里插入图片描述

列表的创建方式

  • 使用中括号[],元素之间使用英文的逗号进行分割
  • 使用内置函数list()

创建列表第一种方式,使用中括号:

lst=['hello','girl',20]
print(lst)

输出结果:[‘hello’,‘girl’,20]

创建列表第二种方式,使用内置函数list():

lst=(['hello','girl',20])
print(lst)

输出结果:[‘hello’,‘girl’,20]

列表的特点:

在这里插入图片描述

2.列表的查询操作

如果我们要进行列表的查询操作,首先要明白列表元素相对应的索引。

如图,

在这里插入图片描述

像大多数其他编程语言一样,Python的索引从头开始访问时,从0开始,到N-1结束,

从末尾开始时,最后一个元素的索引为-1,直至第一个元素的索引为-N

如列表lst=[10,20,30,40]

其中10的正向索引为0,反向索引为-4

30的正向索引为2,反向索引为-2

a.单个元素的查询

在这里插入图片描述

(图片转载网络)

lst=['a','hello',4,1]
print(lst.index('a'))

输出:0

而0正好是列表中元素’a’的索引

说明查列表中存在N个相同元素,只返回相同元素中的大体个元素的索引。

获取索引为N的元素:

lst=['a','hello',4,1]
print(lst[0])
print(lst[2])

输出:‘a’

​ 4

如果查询的元素在列表中不存在,则会抛出ValueError!

b.多个元素的查询

  • 语法格式

    列表名[start:stop:step]

lst=[10,20,30,40,50]
#start为1,stop为3,步长为1,表示从索引为1的元素开始,到索引为3的元素结束(不包括此元素),步长为1
print(lst[1:3:1])

输出:20,30,


当我们未标明步长的数值时,默认步长为1

lst=[10,20,30,40,50]
print(lst[0:3])

输出:10,20,30


当我们未写起始值时,默认从索引0开始

lst=[10,20,30,40,50]
print(lst[:4:2])

输出:10,30


当我们未写末尾值时,默认到末尾

lst=[10,20,30,40,50]
print(lst[1::2])

输出:20,40


当步长为负数时,

lst=[10,20,30,40,50]
print([lst[::-1]])

输出:50,40,30,20,10

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

在这里插入图片描述

3.列表元素的增加操作

在这里插入图片描述

(图片转载网络)

append()

lst=[4,5,6]
lst.append(100)
print(lst)

输出:4,5,6,100

增加之后并没有创建新的列表对象。

extend()

lst=[4,5,6]
lst2=[1,2]
lst.extend(lst2)
print(lst)

输出:4,5,6,1,2

insert()

lst=[4,5,6]
lst.insert(1,90)
#其中的1表示在索引为1的位置上添加一个元素
print(lst)

输出:4,90,5,6

切片

lst=[10,20,30,40,50]
lst2=[True,'hello']
lst[1:]=lst2
print(lst)

输出:10,True,‘hello’

4.列表元素的删除操作

在这里插入图片描述

(图片转载网络)

remove()

lst=[1,2,3,4,5]
lst.remove(3)
print(lst)

输出:[1,2,4,5]

如果移除列表元素中不存在的元素,

lst=[1,2,3,4,5]
lst.remove(10)
print(lst)

输出:ValueError

pop()

lst=[1,2,3,4,5]
lst.pop(1)
print(lst)

输出:[1,3,4,5]

当我们不指定索引时,删除列表最后一个元素

lst=[1,2,3,4,5]
lst.pop()
print(lst)

输出:[1,2,3,4]

切片

lst=[1,2,3,4,5]
lst2=lst[1:3]
#不包括索引3
print(lst)

输出:[1,4,5]

clear()

lst=[1,2,3,4,5]
lst.clear()
print(lst)

输出:[]

del

lst=[1,2,3,4,5]
del.lst
print(lst)

输出:Name Error

5.列表元素的修改

  • 为指定索引的元素赋予一个新值
lst=[10,20,30,40]
#一次修改一个值
lst[2]=100
print(lst)

输出:[10,20,100,40]

  • 为指定的切片赋予一个新值
lst=[10,20,30,40]
lst[1:3]=[300,450,240]
print(lst)

输出:[10,300,450,240]

6.列表元素的排序操作

  • 两种方式

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

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

      1.

      升序

lst=[1,4,2,7,3]
lst.sort()
print(lst)

输出:[1,2,3,4,7]

降序

lst=[1,4,2,7,3]
lst.sort(reverse=True)
print(lst)

输出:[7,4,3,2,1]

如果指定reverse=True进行降序排序,那么指定reverse=False就是进行升序排序


2.

升序

lst=[2,4,7,6,1]
lst2=sorted(lst)
print(lst2)

输出:[1,2,4,6,7]

降序

lst=[2,4,7,6,1]
lst2=sorted(reverse=True)
print(lst2)

输出:[7,6,4,2,1]

7.列表生成式

  • 语法格式

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

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

输出:[1,2,3,4,5,6,7,8,9]

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

输出:[1,4,9,16,25,36,49,64,81]

那如果我们想要得到[2,4,6,8,10]这样的列表应该怎么整呢?

lst=[i*2 for i in range(1,6)]
#记住,是(1,6),因为这是不包含6print(lst)

输出:[2,4,6,8,10]

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

柠栀.i

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

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

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

打赏作者

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

抵扣说明:

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

余额充值