python学习手册(2)

本文详细介绍了Python中列表的基本操作,包括元素的增删改查、排序、反转等,并展示了列表切片的强大功能。同时,文章还对比了列表与元组的不同特性。

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

列表

python里面摒弃了数组啊之类的概念,用列表来代替,其实效果和使用方法做了一个扩展,变得更6了~

直接上代码

list_int = [1, 2, 5, 3]
list2_string = ['Bella', 'Laura', 'Kinsey', 'Lydia']
list3_mix = [1, 4, 5.0, 'Bella', [1, 3, 5]]

也就是说,列表是一个乱七八糟的数组。一个数组里的元素是一样的类型,但是list可以是各种成分的杂糅体。

那么在选取的时候也跟array一样啦

name1 = list2_string[0]

>name1
>Bella

只要注意它从0开始就行了,没什么难的

那么,如何添加element呢?四种方法~

1. append

直接加在末尾,加一个新的元素

list2_name.append('Iris')

>list2_name
>['Bella', 'Laura', 'Kinsey', 'Lydia','Iris']
2. extend

也是加在末尾,但是相当于两个list的合并,也就是说,不能直接把元素加进去,而要加一个list

list2_name.expend(['Iris'])

效果和append是一样的

3. insert

insert(插入的位置,插入的内容)

list2_name.insert(2, 'Iris')

>list2_name
>['Bella', 'Laura','Iris', 'Kinsey', 'Lydia']
4. 加号

最简单的啦,直接用➕号连接起来。注意连接的左右两边要是同样的类型,也就是list

list4 = list1 + [5,6,7]

>list4
>[1, 2, 5, 3, 5, 6, 7]

那么如何删除呢?三种方法

1. remove

remove(元素名)

list2_name.remove('Bella')

>list2_name
>['Laura', 'Kinsey', 'Lydia','Iris']
2. del

del是一个系统函数,所以直接用,不用list点什么

del list2_name[1]

>list2_name
>['Laura',  'Lydia','Iris']
3. pop

pop是会弹出,也就是说不仅移除,而且会返回值

# pop()不带参数,默认弹出最后一个,像一个栈
list2_name.pop()

>list2_name
>['Laura',  'Lydia']

# pop()也可以带参数,带index
list2_name.pop(1)

>list2_name
>['Laura']

好了,讲了基础的,下面是神奇的部分~

切片slice

我们发现,当我们想更偷懒一点,想要一次操作一片,怎么做呢?

#生成一个list
>list5 = list(range(10))

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

# 截取前面的直到3,开区间,也就是0到2个
>pre = list5[:3]
>pre
>[0,1,2]

# 截取从index=5(也就是第六个)后面的所有
>back = list5[5:]
>back
>[5,6,7,8,9]

# 截取中间的,范围从index的3到5
>mid = list[3,5]
>mid
>[3,4]

list比较
list们进行比较的时候,只比较第一个值的大小。比如

list_a = [1, 50]
list_B = [2, 0]

>list_a > list_b
>False

list和重复符号

list_repeat = list_a * 3

>list_repeat
>[1, 50, 1, 50, 1, 50]

list 和成员符号:

>list_1
>[1, 50]

>2 in list_1
>False

>1 in list_1
>True

list的反转

list_1.reverse()

注意reverse没有返回值,会在原list上直接作修改。相当于原地翻转

list的排序

>list = [2,1,8,3]

# 默认从小到大
>list.sort()
>list
>[1,2,3,8]

# 如果要从大到小,这样做
>list.sort(reverse = True)
>list
>[8,3,2,1]

求元素的索引
list的元素下标索引是一个很鬼畜的功能,如果这个列表中有很多个你想查询的元素,则它只会返回范围内的第一个

l1 = [1,2,3] * 3
>l1
>[1,2,3,1,2,3,1,2,3]

# 不指定范围,则默认所有
>l1.index(1)
>0

# 指定范围之后 index(要找的元素,起点下标,终点下标)
>l1.index(1, 2, 5)
>3

计算某个元素出现的个数

这个很简单,直接用

l1 = list(range(3))*3
>l1
>[0,1,2,0,1,2,0,1,2]

>l1.count(1)
>3

对了还有,神奇了

list还可以当做一个函数,后边括号里接需要迭代的内容,可以将后边的内容变成一个个list的元素

>>> s = "Bella is a good learner"
>>> list(s)
['b', 'e', 'l', 'l', 'a', ' ', 'i', 's', ' ', 'a', ' ', 'g', 'o', 'o', 'd', ' ', 'l', 'e', 'a', 'r', 'n', 'e', 'r']

好了,到这里,list的常用功能都介绍完了~
更多的功能,直接

dir(list)

就可以看到:

>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

就不一一介绍啦~相信大家都会举一反三的~

元组

元组tuple是跟list 很像的一个存在,只是加了枷锁的列表,一旦定义,不能进行修改。

元组的定义很神奇,不是像列表一样用[]方括号括起来就表示这种结构,而是由,逗号进行来定义

>tuple1 = 1, 2, 3
>tuple2 = (1,2,3)

# 两种表达形式都可以
>tuple1 
>(1,2,3)

>tuple2
>(1,2,3)

#如果只有一个元素的元组,则记得加逗号
>tuple3 = 1,
>tuple3
>(1,)

元组可以进行切片

tuple3 = tuple1[:2]

>>>tuple3
>>>(1,2)

元组的插入

实际上就是先把元组切开,然后加上某些元素,再拼上去。很tricky

>>> temp = (1,2,3,4,5)
>>> temp = temp[:2]+(7,8)+temp[2:]
>>> temp
(1, 2, 7, 8, 3, 4, 5)

元组的就先讲到这里~想起来什么新的再说吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值