python入门(三)列表LIST

本文详细介绍了Python列表的基本操作,包括定义、使用其他容器初始化、元素的添加和删除、排序以及列表与字符串的区别。重点讲解了索引和切片、运算符如'+'和'*'的用法,还探讨了如何通过`append()`、`insert()`和`extend()`函数增加元素,以及`pop()`、`remove()`和`clear()`方法删除元素。此外,还讨论了列表的排序方法和列表与字符串的互转及其可变性特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、定义

1.1 直接定义

1.2 使用其他容器来初始化列表

二、列表是个筐,什么都能装

三、索引方式和切片

3.1 正向索引与逆向索引

3.2 切片方法

3.3 切片方法不改变原列表

3.4 列表可以通过索引被改变

四、运算:‘+’  ‘*’  ‘len()’  ‘in’

4.1 ‘+’:列表可以通过‘+’连接

4.2 ‘*’:列表可以通过‘*’复制

4.3 ‘len()’:查看列表长度

4.4 ‘in’:查询元素是否在列表中

五、增加列表元素

5.1 append()函数

5.2 insert()函数

5.3 extend()函数

①列表:

②字符串:

六、删除列表元素

6.1 pop()

①无参情况  默认删除最后一位,将值返回

②有参情况  删除参数位置元素,将值返回

6.2 remove()

6.3 clear()

七、排序

7.1 按大小排序:sort()

①list.sort()会改变列表内元素位置

②sorted(list)新复制一个列表进行排序

7.2 将列表倒序

①list.reverse()会改变列表内元素位置

②reversed(list)新复制一个列表进行倒序排列

八、比较列表与字符串

8.1 列表与字符串的相互转换

①字符串-->列表

②列表-->字符串

③注意,下面的方法无法转换得到连接起来的字符串

8.2 关于可变不可变的比较

①列表可变,lst[2] = 'i'

②字符串不可变,s[2] = 'i'   会报错


一、定义

1.1 直接定义

lst = []                        定义空表
lst = ["a",1,(1,2)]             初始化表,列表装一切
print(type(lst))

显示:

<class 'list'>

1.2 使用其他容器来初始化列表

a = ('a','b','c')                先初始化一个元组
lst = list(a)                    强制类型转换,用元组初始化列表
print(type(lst))

显示:

<class 'list'>

二、列表是个筐,什么都能装

列表中的元素是有顺序的,元素可以重复。

三、索引方式和切片

3.1 正向索引与逆向索引

列表与字符串具有相同的索引方式:

正向索引:正向计数,从0开始到正无穷。

逆向索引:逆向计数,从-1开始到负无穷。

每个元素具有两个索引序号。

a = ('a','b','c')
lst = list(a)
print(lst[-1],"和",lst[2])

显示:

c 和 c

3.2 切片方法

切片方法与字符串相同。

详情见字符串篇,切片章节

3.3 切片方法不改变原列表

想要将列表元素倒序,可以切片后重新赋值。

3.4 列表可以通过索引被改变

lst = [1,2,3,4,5,6,7,8,9,10]
lst[0]=0
print(lst)

显示:

[0, 2, 3, 4, 5, 6, 7, 8, 9, 10]

字符串不能通过索引方式被改变,但是列表可以。

四、运算:‘+’  ‘*’  ‘len()’  ‘in’

4.1 ‘+’:列表可以通过‘+’连接

lst1 = [1,2,3,4,5]
lst2 = [6,7,8,9,10]
lst = lst1 + lst2;
print(lst)

显示:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

4.2 ‘*’:列表可以通过‘*’复制

lst1 = [1,2,3,4,5]
lst = lst1 * 3;
print(lst)

显示:

[1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

4.3 ‘len()’:查看列表长度

lst1 = [1,2,3,4,5]
print(len(lst1))

显示:

5

4.4 ‘in’:查询元素是否在列表中

lst1 = [1,2,3,4,5]
print('1' in lst1 )

显示:

False                查询的是‘1’字符,数字1在列表中

五、增加列表元素

列表是容器:

可以增加列表长度,但是列表的内存地址没有变化。

5.1 append()函数

添加元素到列表末尾

lst1 = [1,2,3,4,5]
lst1.append(6)
print(lst1 )

显示:

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

5.2 insert()函数

lst.insert(a,b)         在a位置上插入b值,原来的元素后移

举例:

lst1 = [1,2,3,4,5]
lst1.insert(0,0)
print(lst1 )

显示:

[0, 1, 2, 3, 4, 5]

5.3 extend()函数

extend()函数参数需要符合要求:可迭代对象。

lst1 = [1,2,3,4,5]
lst1.extend(0)
print(lst1 )

错误:TypeError: 'int' object is not iterable

①列表:

​
lst1 = [1,2,3,4,5]
lst2 = [6,7,8,9]
lst1.extend(lst2)
print(lst1 )

显示:

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

②字符串:

lst1 = [1,2,3,4,5]
s = "nlp"
lst1.extend(s)
print(lst1 )

显示:

[1, 2, 3, 4, 5, 'n', 'l', 'p']

字符串会被拆分成单个字符存入列表。

六、删除列表元素

6.1 pop()

①无参情况  默认删除最后一位,将值返回

②有参情况  删除参数位置元素,将值返回

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

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

显示:

5
4

6.2 remove()

删除查找到的第一次出现的参数值。无返回值。

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


显示:

[1, 3, 4, 5]

6.3 clear()

将列表清空,相当于把筐里的东西倒掉,没有换筐。

lst1 = [1,2,3,4,5]

方法1:
lst1 = []                  相当于重建了个列表,指向lst1。原来的list由于没有指向,被回收删除。

方法2:
lst1.clear()               把原列表清空,列表内存地址不发生改变。

七、排序

注意:只有列表中元素类型相同才能进行排序。

7.1 按大小排序:sort()

①list.sort()会改变列表内元素位置

lst1 = [8,2,7,4,5]
lst1.sort()
print(lst1)

显示:

[2, 4, 5, 7, 8]

无参时默认从小到大排序

参数()reverse = True 将从大到小排序

lst1 = [8,2,7,4,5]
lst1.sort(reverse=True)
print(lst1)

显示:

[8, 7, 5, 4, 2]

②sorted(list)新复制一个列表进行排序

lst1 = [8,2,7,4,5]
print(sorted(lst1))
print(lst1)

显示:

[2, 4, 5, 7, 8]
[8, 2, 7, 4, 5]

7.2 将列表倒序

①list.reverse()会改变列表内元素位置

lst1 = [8,2,7,4,5]
lst1.reverse()
print(lst1)

显示:

[5, 4, 7, 2, 8]

②reversed(list)新复制一个列表进行倒序排列

lst1 = [8,2,7,4,5]
print(reversed(lst1))
print(lst1)

显示:
<list_reverseiterator object at 0x00000218E0CA6EE0>      这个是列表类迭代对象,可以装入列表中
[8, 2, 7, 4, 5]

举例:
lst1 = [8,2,7,4,5]
lst2 = list(reversed(lst1))
print(lst2)

显示:

[5, 4, 7, 2, 8]

八、比较列表与字符串

8.1 列表与字符串的相互转换

①字符串-->列表

s1 = "python"
lst = list(s1)                    会将字符串的每个字符都拆分出来,放入列表中
print(lst)    

显示:    

['p', 'y', 't', 'h', 'o', 'n']

②列表-->字符串

列表元素都是string形式,才能用这个方法连接起来。

lst = ['p','y','t','h','o','n']
s1 = ''.join(lst)
print(s1)

显示:

python

③注意,下面的方法无法转换得到连接起来的字符串

lst = ['p','y','t','h','o','n']
s1 = str(lst)
print(s1)
print(type(s1))

显示:

['p', 'y', 't', 'h', 'o', 'n']        并不是连接起来的字符串
<class 'str'>

8.2 关于可变不可变的比较

①列表可变,lst[2] = 'i'

②字符串不可变,s[2] = 'i'   会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值