python

Python-列表操作(下)

2021-12-06  本文已影响0人  IT赶路人

微信公众号-IT赶路人,专注分享与IT相关知识,关注我,一起升职加薪!

图片

列表是非常常见的一种数据结构,那么Python中,都对列表提供了哪些操作,又如何对列表进行创建,增、删、改、遍历呢?本文就给大家汇总最基本,也是最常用的几种操作。

创建列表

字符串本质是一个字符列表,但原始字符串并不具备完整的列表性质。以字符串为例,我们来看看如何将字符串转换为列表。这就需要用到list()方法。

# list函数,将字符串转换为列表student_name = “Alice”print(list(student_name))结果:['A', 'l', 'i', 'c', 'e']

以上示例,定义一个字符串列表student_name,然后调用list方法,将student_name转换为字符数组,通过print打印到控制台。

修改、添加元素

对列表中某个元素的值进行修改,也可以向其中添加新的元素,这就需要用到元素访问,和append方法。看例子函数很简单了,那么接下来看修改元素和增加元素,另外,append和extend这两个大家一定要认真来看,修改元素就比较简单,直接通过索引访问到制定元素,重新赋值;增加元素主要是append函数与extend。

#列表的操作# Demo修改元素x = [1,2,3]x[1] = 5print(x)
# Demo( 增加 ):append() # append 增加 1个元素 lstr = ["a" ,"b" ,"c" ]lstr.append( "d" )print(lstr)# Demo( 扩展 ):extend()# extend 扩展多个元素# extend([]) 中是一个列表,有括号 lstr.extend([ "e" ,"f" ])print (lstr) lstr.append([“h",“i"])# Demo (插入):insert() # insert() 会在列表中的某个位置增加一元素。# 可以指定希望将元素增加到列表中的那个位置 lstr.insert( 2,“g")print (lstr)

第一段代码修改第二个元素,由原来的1,修改为2;第二个示例主要给搭建演示extend方式的使用,来看看程序执行的情况:

图片

从代码中可以看到,x原始内容为[1, 2, 3],将第二个元素修改为5之后,数组打印出来就是[1, 5, 3],说明修改有效。原始names = [“a”, “b”, “c”],append操作之后,就变成了[“a”, “b”, “c”, “d”],最后与[“f”, “h”]进行extend之后就变成了一个新的长数组。大家可以自己尝试运行以上代码。

需要注意的是,从实例可以看出来,extend和append之间的差异,append是将参数当做一个元素添加到列表中,而extend的参数必须也是列表,才能得到扩展后的结果。

删除元素

在列表中,移除元素有三种常用的方法,这三种方法虽然都能移除一个元素,但效果和用途是不一样的。

示例代码:

# Demo (删除元素) # remove() 删除元素 lstr = ["a" ,"b" ,"c" ]lstr.remove("b" )print (lstr) # del()删除lstr = ["a" ,"b" ,"c" ]del lstr[0]print(lstr)print(len(lstr))# pop() 弹出删除最后一个元素 lstr = ["a" ,"b" ,"c" ]lstr.pop()print(lstr) lstr.pop(1)print(lstr)

参考并运行上述代码,运行结果如下:

图片

分片赋值

通过分片赋值,可 以一次为多个元素赋值;可以插入新的元素;可以删除元素。用法示例:

# Demo(分片赋值# 一次赋多个值,替换原有元素 lstr = ["a" ,"b" ,"c" ]print (lstr) lstr[2:] = list ("de" )print (lstr)# 不替换元素 ,插入新的lstr = ["a" ,"b" ,"c" ]lstr[1:1] = ["d"]print (lstr) # 分片复制也可以删除元素 lstr[ 1:2] = [] print (lstr)

运行以上代码,看看效果:

图片

搜索元素

列表中如何有多个元素,如何查找这些元素?可以参考如下两个方法:

用法参考代码:

# Demo(搜索元素) in 与 index()lstr = ["alice" ,"bob" ,"tom" ]if "d" in lstr :    print (True)else:    print(False)# index()print(lstr.index("bob"))

代码运行效果:

图片

可以看到,使用in关键字能够判断元素是否存在数组中;使用index能够获取元素的具体位置。虽然,这二者都能判断元素是否存在,但结果还是有差异的,前者只能判断是否存在,后者不仅可以判断存在,而且还能获取具体的位置。

count和reverse

用法示例:

# Demo(count 、index)lstr = ["a" ,"b" ,"c" ,"a" ]print(lstr.count("a"))# 倒置lstr.reverse()print(lstr)

count方法,是进行统计的,reverse则济宁反转倒置,其结果就是对元素进行了逆序。实例:

图片

numbers = [1, 2, 1, 3, 4],统计1的数量,结果就是2;将其翻转,就得到了[4, 3, 1, 2, 1]。

排序

排序通过sort方法完成,用于在原位置对列表进行排序(改变了原来的列表)。前面的append 、pop 也是如此。重点介绍sort(很多人错误的理解排序了,就给一个新列,其实是在原来的列表上操作)。

用法示例代码:

#Demo1numbers = [1,2,5,4,3]numbers.sort()print(numbers) print(numbers.sort())结果:[1, 2, 3, 4, 5]None #改方法是没有返回值的

代码展示:

图片

如上,当sort操作之后,再打印原来的数据就能够得到排序之后的结果了。同时,这里也扩展了sort方法,其实,也可以在不改变原始数组的情况下获取排序后的数组,这就是sorted方法。sort与sorted,sort修改自生,针对自身列表进行排序,因此返回的是none。

总结

我们这一讲里边就讲了这些列表的函数,还有列表的一些增删改查,我们甚至可以把增加、修改,删除元素,简称增删改查这几种操作,希望大家通过案例的一些操作,能够对列表有些加深理解,能够真正理解我列表里边怎么进行操作,怎么去维护的列表。

浏览网页:https://www.itxiaonv.com/,了解更多IT信息

26322751-8bd00fde1a719aa1.jpg
上一篇下一篇

猜你喜欢

热点阅读