Python列表的知识点有哪些
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,本篇内容主要讲解"Python列表的知识点有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python列表的知识点有哪些"吧!一、列表的创建方式# -
千家信息网最后更新 2025年02月23日Python列表的知识点有哪些
本篇内容主要讲解"Python列表的知识点有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python列表的知识点有哪些"吧!
一、列表的创建方式
# -*- coding: utf-8 -*-# __author : Demon# date : 1/16/18 8:19 PM# 列表的创建empty_list_01 = [] # 创建一个空的列表empty_list_02 = list() # 创建一个空的列表num_list = [1, 2, 3, 4, 5] # 创建一个数字列表str_list = ['a', 'b', 'c'] # 创建一个字符串列表mix_list = [1, 'a', 'abc'] # 一个列表中可包含元素类型不是固定的nest_list = [num_list, str_list, mix_list] # 列表可以嵌套print(num_list) # [1, 2, 3, 4, 5]print(str_list) # ['a', 'b', 'c']# 由打印结果可以看出列表的存储是有顺序的# 即怎么存的就怎么取print(num_list[0]) # 列表接受下标访问,类似于JAVA中的数组 1print(num_list[1]) # 列表接受下标访问,类似于JAVA中的数组 2print(num_list[2]) # 列表接受下标访问,类似于JAVA中的数组 3print(num_list[3]) # 列表接受下标访问,类似于JAVA中的数组 4print(num_list[4]) # 列表接受下标访问,类似于JAVA中的数组 5# 一旦超出长度,就会抛出异常# print(num_list[5]) # IndexError: list index out of range
二、列表中的常用操作
# -*- coding: utf-8 -*-# __author : Demon# date : 1/16/18 8:19 PM# 1. 列表的循环方式【重要】num_list = [1, 2, 3, 4, 5] # 创建一个数字列表for num in num_list: print(num, end="") # 123456print()# 2. 求长度num_list = [1, 2, 3, 4, 5] # 创建一个数字列表print(len(num_list)) # 5# 3. 判断列表是否为空【重要】empty_list = list()num_list = [1, 2, 3]# 利用非0即True的原则【推荐方法】if not empty_list: # 如果列表为空 print("The list is empty")else: print("The list is not empty")# 利用长度if not len(num_list): print("The list is empty")else: print("The list is not empty")# 4. 判断元素是否存在【重要】num_list = [1, 2, 3]if 2 in num_list: print("in")else: print("not in")# 5. append(ele) 尾端添加元素empty_list = [] # 创建一个空的列表for s in "Hello": empty_list.append(s)print(empty_list) # ['H', 'e', 'l', 'l', 'o']# 上述代码也是将字符串转换为列表的一种方式,只是代码比较复杂# 6. 列表切片的用法,如字符串切片的用法类似【重要】# 用法 list[start:end:step]# start可省略,默认值为0# end可省略,默认为最大长度# step可省略,默认为1# 范围是[start, end),即左闭右开str_list = ['a', 'b', 'c'] # 创建一个字符串列表# 获取整个list, ['a', 'b', 'c']print(str_list[::])print(str_list[0:])print(str_list[:3])print(str_list[:200]) # 长度超出时,不会报错# 获取部分print(str_list[0:2]) # ['a', 'b']print(str_list[0:2:2]) # ['a']# 7.sort排序【重要】# 注意这个方法没有返回值,是在原列表上进行修改str_list = ["adfas", "dsdfw", "nklo"]str_list.sort()print(str_list) # ['adfas', 'dsdfw', 'nklo']# 8.insert(pos, ele) 在指定位置插入元素str_list = ['a', 'b', 'c'] # 创建一个字符串列表str_list.insert(2, "we") # ['a', 'b', 'we', 'c']print(str_list)# 如果位置超出长度,不会报错,会在尾部插入str_list.insert(20, "we") # [['a', 'b', 'we', 'c', 'we']print(str_list)# 9.del(pos) 删除指定位置的元素# 需要注意这个方法不是通过列表.调用的# 可以类似理解为,它不是列表这个类中的方法str_list = ['a', 'b', 'c'] # 创建一个字符串列表del str_list[0]print(str_list) # ['b', 'c']# del str_list[20] # IndexError: list assignment index out of range# 10.extend(list)或+=合并num_list = [1, 2]str_list = ["a", "b"]print(str_list + num_list) # ['a', 'b', 1, 2]# 11.remove(ele) 删除指定值str_list = ['a', 'b', 'c'] # 创建一个字符串列表str_list.remove("a")print(str_list) # ['b', 'c']# str_list.remove("d") # ValueError: list.remove(x): x not in list# 12.pop(pos) 删除指定位置的元素str_list = ['a', 'b', 'c'] # 创建一个字符串列表# str_val = str_list.pop(100) # IndexError: pop index out of rangestr_val = str_list.pop(0)print(str_val) # aprint(str_list) # ['b', 'c']# 13.reverse() 反转,见练习# 14.count(ele)方法查看某个元素出现的次数str_list = ['abc', 'b', 'c', "abc"]print(str_list.count("abc")) # 2
三、列表的转换
其他形式转列表,采用list(otherType)的方法。可以转列表的类型有:字符串,元组等,如下代码所示:
str_01 = "abc"print(list(str_01)) # ['a', 'b', 'c']tuple_01 = (1, 2, 3)print(list(tuple_01)) # [1, 2, 3]
列表转其他形式,通常看其他形式是怎么支持转换。其中比较灵活的是列表转字符串,采用join的方法,如下代码所示:
str_list = ["a", "b", "c"]print(",".join(str_list)) # a,b,cprint("".join(str_list)) # abc
列表转字符串需要注意:首先,join方法不是列表自带的方法,从调用来看,它是字符串里的方法;其次,join方法,如果列表中的元素不是字符串,会报错,如下代码所示:
num_list = [1, 2, 3] # print("".join(num_list)) # TypeError: sequence item 0: expected str instance, int found
四、Python编程学习常见的练习题
1. 列表的反转
# 方式一:调用列表的reverse()方法num_list = [1, 2, 3]num_list.reverse()print(num_list) # [3, 2, 1]# 方式二:使用切片num_list = [1, 2, 3]for num in num_list[::-1]: print(num)# 如果需要[3, 2, 1]这样的格式num_list = [1, 2, 3]print("[", end="")for num in num_list[:0:-1]: print(num, end=", ")if not num_list: # 如果列表为空 print("]")else: print("%d]" % num_list[0])
2.如何将列表拷贝到别一个列表中
nest_list = [1, 2, 3, ['a', 'b', 'c']]new_nest_list = nest_list # 直接赋值拷贝print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c']]new_nest_list.append("4")print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c'], '4']print(nest_list) # [1, 2, 3, ['a', 'b', 'c'], '4']# 直接赋值的拷贝会影响原来的列表,是一种浅拷贝nest_list = [1, 2, 3, ['a', 'b', 'c']]new_nest_list = nest_list[::] # 切片print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c']]new_nest_list.append("4")print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c'], '4']print(nest_list) # [1, 2, 3, ['a', 'b', 'c']]nest_list[-1].append("d")print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c', 'd'], '4']print(nest_list) # [1, 2, 3, ['a', 'b', 'c', 'd']]# 使用切片,改变最外层对原列表没有影响,而内层是有影响的。这也是一种浅拷贝nest_list = [1, 2, 3, ['a', 'b', 'c']]new_nest_list = nest_list.copy() # 使用copy方法print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c']]new_nest_list.append("4")print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c'], '4']print(nest_list) # [1, 2, 3, ['a', 'b', 'c']]nest_list[-1].append("d")print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c', 'd'], '4']print(nest_list) # [1, 2, 3, ['a', 'b', 'c', 'd']]# 使用copy,改变最外层对原列表没有影响,而内层是有影响的。这也是一种浅拷贝# 如果想要实现深拷贝,需要使用copy模块中的deepcopy方法,详见一文
3.列表的排序
列表的简单排序通常使用list.sort()方法。 但是这个sort方法使用会相对比较灵活。它的完整定义如下:
sort(*, key=None, reverse=False)
key指定一个函数名,并且这个函数只能接受一个参数
reverse指定排序的方式
x = ['bc', 'essmm', 'mdsfm', 'ss' ]x.sort(key=str.lower)print(x) # ['bc', 'essmm', 'mdsfm', 'ss']y = [3, 2, 8, 0, 1]y.sort(reverse=True)print(y) # [8, 3, 2, 1, 0]
可以发现,使用list.sort()方法进行排序,是调用的列表中自带的方法,并且它是作用于原列表,并没有返回值。如果我们想要得到一个新的排好序的列表,则需要使用到sorted()方法。
到此,相信大家对"Python列表的知识点有哪些"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
方法
字符
字符串
元素
拷贝
方式
长度
重要
下标
代码
数组
影响
排序
位置
知识
知识点
形式
数字
学习
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发 挂靠证
网络技术班徽
软件开发用什么cpu
松江区国际软件开发收费标准
深圳软件开发职校
现代数据库技术ppt
苏州软件开发外包排行
gdp数据库在哪可查
数据库弱电图怎么看
饥荒进服务器闪退后进不去
华南理工大学 网络安全
军用数据库服务器
幻塔不在一个服务器能一块玩吗
我的世界专门的枪械rpg服务器
服务器配置java开发环境
自己做软件开发需要哪些基础
北京数据软件开发价格检测中心
网络安全审查重点审查
it服务器运维软件开发
梦幻西游绿通可以提前进服务器吗
软件开发文件体系
网络安全防范的原则
网络安全企业的愿景
远程服务器卡死了有什么办法
腾讯服务器管理员有哪些
数据库外卖系统java
软件开发选哪家
上海高科技互联网企业
CF聊天软件开发
软件开发职能分类