Python列表的知识点有哪些
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,本篇内容主要讲解"Python列表的知识点有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python列表的知识点有哪些"吧!一、列表的创建方式# -
千家信息网最后更新 2025年01月18日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安全错误
数据库的锁怎样保障安全
退伍军人转软件开发设计
吉中多互联网科技
固态硬盘怎么看写入数据库
网络技术应用调研报告
软件开发摊销开始时间
告诉别人服务器ip安全吗
天津服务器报废多少钱
量化交易如何挂阿里云服务器
公众号抢红包软件开发
搭建一个手游服务器多少钱
网页软件开发教程
黄岛区商城软件开发服务公司
以下属于网络安全的有
计算机网络技术就业趋势如何
中国篮球数据库cba比分
网络安全办公区有风险吗
字体连接设计网络安全
ORACLE数据库技术文案
网络安全在网络中如何体现
网络安全技术与应用期刊出版社
阿里云服务器没有显卡
注册ipadid服务器出错
流星蝴蝶剑服务器
幼儿园画一幅关于网络安全的画
188邮箱服务器
数据库专业术语索引
控制软件开发 浦东
松江区上门软件开发定制要求
杭州香橙科技互联网
传奇世界2物品数据库