python列表查找元素用什么运算符_【Python】第012课,定义和使用列表,列表的运算符,列表元素的遍历i,列表的方法,元素位置和次数,元素排序和反转。...
目录
定义和使用列表
列表的运算符
列表元素的遍历
列表的方法
元素位置和次数
元素排序和反转
定义和使用列表
在Python中,列表是由一系元素按特定顺序构成的数据序列,这样就意味着定义一个列表类型的变量,可以保存多个数据,而且允许有重复的数据。
跟上一课我们讲到的字符串类型一样,列表也是一种结构化的、非标量类型,操作一个列表类型的变量,除了可以使用运算符还可以使用它的方法。items1 = [10,20,30,40,50,60]
items2 = [70,80,90]
在Python中,可以使用[]字面量语法来定义列表,列表中的多个元素用逗号进行分隔,代码如下所示。
除此以外,还可以通过Python内置的list函数将其他序列变成列表。准确的说,list并不是一个函数,而是创建列表对象的构造器items1 = list(range(1, 10))
print(items1) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
items2 = list('hello')
print(items2) # ['h', 'e', 'l', 'l', 'o']
需要说明的是,列表是一种可变数据类型,也就是说列表可以添加元素、删除元素、更新元素,这一点跟我们上一课讲到的字符串有着鲜明的差别。字符串是一种不可变数据类型,也就是说对字符串做拼接、重复、转换大小写、修剪空格等操作的时候会产生新的字符串,原来的字符串并没有发生任何改变。
列表的运算符
和字符串类型一样,列表也支持拼接、重复、成员运算、索引和切片以及比较运算,对此我们不再进行赘述,请大家参考下面的代码。items1 = [10,20,30,40,50,60]
items2 = [70,80,90]
print(f'items1:{items1},\nitems2:{items2}')
s1="1.列表的拼接"
print(s1.center(30,'*'))
items3=items1+items2
print(f'列表拼接items1=items2:{items3}')
s1="2.列表的重复"
print(s1.center(30,'*'))
items3+=items3
items5=items2*3
print(f'列表重复:items3+=items3:{items3},\nitems3*3:{items5}')
s1="3.列表的成员运算"
print(s1.center(30,'*'))
print(f'100是否在列表items1中:{100 in items1}')
print(f'80是否在列表items3中:{80 in items3}')
s1="4.获取列表元素长度(元素个数)"
print(s1.center(30,'*'))
size=len(items1)
print(f'items3:{items3}\nitems3的元素个数:{len(items3)}\n'
f'items2:{items2}\nitems2的元素个数:{len(items2)}')
print(f'items1:{items1},\nitems1的元素个数:{size}')
s1="5.列表的索引"
print(s1.center(30,'*'))
print(f'items1的第一个元素值:{items1[-size]}')
print(f'items2的第一个元素值:{items2[0]}')
print(f'items1的最后一个元素值:{items3[size-1]},{items1[-1]}')
s1="6.列表的切片"
print(s1.center(30,'*'))
print(f'items1的前五个:items1[:4]:{items1[:5]}')
print(f'items2的从第四个元素之后的元素:items2[4:]:{items2[4:]}')
print(f'items3从第三个元素开始间隔三个元素依次输出:items3[3::3]:{items3[3::3]}')
s1="7.列表的比较运算"
print(s1.center(30,'*'))
items5={"Spring","1010","abcd","白小鱼"}
items6={"Spring","1011","abc"}
items7={"abcd","白小鱼"}
items8={"Spring","1010","abcd","白小鱼"}
print(f"items5与items6是否相等:{items5==items6}")
print(f"items5>items7?:{items5>items7}")
print(f"items5与items8是否相等:{items5==items8}")
程序运行结果如下:
D:\装机软件\python\python.exe "D:/python code2020/untitled1/list.py"
items1:[10, 20, 30, 40, 50, 60],
items2:[70, 80, 90]
***********1.列表的拼接************
列表拼接items1=items2:[10, 20, 30, 40, 50, 60, 70, 80, 90]
***********2.列表的重复************
列表重复:items3+=items3:[10, 20, 30, 40, 50, 60, 70, 80, 90, 10, 20, 30, 40, 50, 60, 70, 80, 90],
items3*3:[70, 80, 90, 70, 80, 90, 70, 80, 90]
**********3.列表的成员运算***********
100是否在列表items1中:False
80是否在列表items3中:True
*******4.获取列表元素长度(元素个数)*******
items3:[10, 20, 30, 40, 50, 60, 70, 80, 90, 10, 20, 30, 40, 50, 60, 70, 80, 90]
items3的元素个数:18
items2:[70, 80, 90]
items2的元素个数:3
items1:[10, 20, 30, 40, 50, 60],
items1的元素个数:6
***********5.列表的索引************
items1的第一个元素值:10
items2的第一个元素值:70
items1的最后一个元素值:60,60
***********6.列表的切片************
items1的前五个:items1[:4]:[10, 20, 30, 40, 50]
items2的从第四个元素之后的元素:items2[4:]:[]
items3从第三个元素开始间隔三个元素依次输出:items3[3::3]:[40, 70, 10, 40, 70]
**********7.列表的比较运算***********
items5与items6是否相等:False
items5>items7?:True
items5与items8是否相等:True
Process finished with exit code 0
由于列表是可变类型,所以通过索引操作既可以获取列表中的元素,也可以更新列表中的元素。
对列表做索引操作一样要注意索引越界的问题,对于有N个元素的列表,正向索引的范围是0到N-1,负向索引的范围是-1到-N,如果超出这个范围,将引发IndexError异常,错误信息为:list index out of range。
列表元素的遍历
如果想逐个取出列表中的元素,可以使用for循环的,有以下两种做法。
items = ['Python', 'pluto', '卡戎', '白小鱼']
for index in range(len(items)):
print(items[index])
items = ['java', '萌萌', '江火似流萤', 'Spring']
for item in items:
print(item)
D:\装机软件\python\python.exe "D:/python code2020/untitled1/b遍历.py"
Python
pluto
卡戎
白小鱼
java
萌萌
江火似流萤
Spring
Process finished with exit code 0
“掷色子统计每个点数出现次数”的代码。
import random
将一颗色子掷6000次,统计每个点数出现的次数。这个任务对大家来说应该是非常简单的,我们可以用1到6均匀分布的随机数来模拟掷色子,然后用6个变量分别记录每个点数出现的次数,
import random
counters = [0] * 6#
print(counters)
for i in range(6000):#范围从1~6000
face = random.randint(1, 6)
counters[face - 1] += 1
for face in range(1, 7):
print(f'{face}点出现了{counters[face - 1]}次')
上面的代码中,我们用counters列表中的六个元素分别表示1到6的点数出现的次数,最开始的时候六个元素的值都是0。接下来用随机数模拟掷色子,如果摇出1点counters[0]的值加1,如果摇出2点counters[1]的值加1,以此类推。
列表的方法
和字符串一样,列表类型的方法也很多,下面为大家讲解比较重要的方法。
item=["生气","喜悦","嗔怒","清冷"]
print(f'item:{item}')
item.append("多情")#使用append方法在列表尾部添加元素
print(f'item:{item}')
item.insert(2,"悠然")#使用insert方法在列表指定索引位置插入元素
print(f'item:{item}')
item.remove("嗔怒")# 删除指定的元素
print(f'item:{item}')
item.pop(0)# 删除指定索引位置的元素
print(f'item:{item}')
# 清空列表中的元素
item.clear()
print(f'item:{item}')
D:\装机软件\python\python.exe "D:/python code2020/untitled1/y元素列表.py"
item:['生气', '喜悦', '嗔怒', '清冷']
item:['生气', '喜悦', '嗔怒', '清冷', '多情']
item:['生气', '喜悦', '悠然', '嗔怒', '清冷', '多情']
item:['生气', '喜悦', '悠然', '清冷', '多情']
item:['喜悦', '悠然', '清冷', '多情']
item:[]
Process finished with exit code 0
需要提醒大家,在使用remove方法删除元素时,如果要删除的元素并不在列表中,会引发ValueError异常,错误消息是:list.remove(x): x not in list。
在使用pop方法删除元素时,如果索引的值超出了范围,会引发IndexError异常,错误消息是:pop index out of range。
从列表中删除元素其实还有一种方式,就是使用Python中的del关键字后面跟要删除的元素,这种做法跟使用pop方法指定索引删除元素没有实质性的区别,
item=["生气","喜悦","嗔怒","清冷"]
del item[1]
print(f'del :item:{item}')
del :item:['生气', '嗔怒', '清冷']
但后者会返回删除的元素,前者在性能上略优(del对应字节码指令是DELETE_SUBSCR,而pop对应的字节码指令是CALL_METHOD和POP_TOP)。
元素位置和次数
列表类型的index方法可以查找某个元素在列表中的索引位置;因为列表中允许有重复的元素,所以列表类型提供了count方法来统计一个元素在列表中出现的次数。请看下面的代码。
tems = ['Python', 'Java', 'Java', 'Go', 'Kotlin', 'Python']
# 查找元素的索引位置
print(items.index('Python')) # 0
print(items.index('Python', 2)) # 5
# 注意:虽然列表中有'Java',但是从索引为3这个位置开始后面是没有'Java'的
print(items.index('Java', 3)) # ValueError: 'Java' is not in list
items = ['Python', 'Java', 'Java', 'Go', 'Kotlin', 'Python']
# 查找元素出现的次数
print(items.count('Python')) # 2
print(items.count('Go')) # 1
print(items.count('Swfit')) # 0
元素排序和反转
列表的sort操作可以实现列表元素的排序,而reverse操作可以实现元素的反转,代码如下所示
。
item=["pluto","sunny","spring"]
print(item)
item.sort()
print(item)
item.reverse()
print(item)
['pluto', 'sunny', 'spring']
['pluto', 'spring', 'sunny']
['sunny', 'spring', 'pluto']
Process finished with exit code 0
课程链接:https://github.com/jackfrued/Python-Core-50-Courses/blob/maste
python列表查找元素用什么运算符_【Python】第012课,定义和使用列表,列表的运算符,列表元素的遍历i,列表的方法,元素位置和次数,元素排序和反转。...相关推荐
- python创建字典和包的区别_[Python]-10-模块与包
引言 这篇文章介绍python中模块和包的概念. 文章目录 0×1.如何导入模块 简单的讲,模块就是可以扩展python功能的一些对象的集合,可以是类,方法,或者简单的数值对象,他们被存放在一个或多个 ...
- python中from import*的*什么意思_[Python]Python中的import和from import
在python用import或者from...import来导入相应的模块. 模块其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序 ...
- 猿创征文|python二分查找解密 青少年编程电子学会python编程等级考试三级真题解析2021年03月
目录 python二分查找解密 一.题目要求 1.编程实现 2.输入输出 3.评分标准</
- python词云需要导入什么包_[python] 词云:wordcloud包的安装、使用、原理(源码分析)、中文词云生成、代码重写...
词云,又称文字云.标签云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思.常见于博客. ...
- python生成中文词云的代码_[python] 基于词云的关键词提取:wordcloud的使用、源码分析、中文词云生成和代码重写...
1. 词云简介 词云,又称文字云.标签云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意 ...
- python调用百度地图画轨迹图_[python]百度地图API,正/逆地理编码,路线规划接口的调用,实现输出出行的距离和......
[Python] 纯文本查看 复制代码''' 文件名:L17.py 作者:小饭团 创建时间:2019年1月11日15:17:03 文件描述:调用Web服务API接口,百度地图路线规划 正/逆地理编码 ...
- python实现文件上传和下载_[Python] socket实现TFTP上传和下载
一.说明 本文主要基于socket实现TFTP文件上传与下载. 测试环境:Win10/Python3.5/tftpd64. tftpd下载:根据自己的环境选择下载,地址 :http://tftpd32 ...
- python如何爬取网站所有目录_[python] 爬取网站所有的URL
运行python脚本,最终程序目录下会是这样: result.txt中保存所有的URL 文件夹sh.neusoft.com中保存爬虫得到的所有网页 main.py的源代码如下 # -*- coding ...
- python计算在月球的体重程序_# Python程序语言设计基础(第二版)程序练习题
Python程序语言设计基础(第二版)程序练习题 3.1 重量计算,月球上物体的体重是在地球上的16.5%,假如你在地球上每年增长0.5kg,编写程序输出未来10年你在地球和月球上的体重状况. cur ...
- python怎么让py里面逐行运行_[python]开发环境bug(求助)
之前写的整理文件格式脚本就出现过这个问题,今天特地做了个测试,本来想弄清出错的位置现在彻底懵了,求大佬解释. 0.用一个简单的python程序生成一个短的特殊文本. test = open('','w ...
最新文章
- 科达正式发布PPP业务支持计划
- python数据预测模型算法_如何对时间序列预测问题计算基准预测(python)
- 命令行下操作常用语句
- eclipse android 分包,eclipse中multidex的使用
- 社会治理智慧平台、联动指挥、综合执法、数据汇集、数据研判、智慧政务、图表模板、大屏、可视化、智慧工厂、办公、能源、医疗、校园、自动化综合车间大屏、车间数据、人力资源、员工考核、医院、rp原型
- Selenium自动化框架:数据驱动、关键字驱动和混合
- 程序员求职之道(《程序员面试笔试宝典》)之民间的企业排名的可信度到底有多大?...
- 那些年出现的遇到的 错误 VS (长期)
- python爬取喜马拉雅vip音频安卓_Python爬虫:爬取喜马拉雅音频数据详解
- JeeSite快速开发平台v4.2.2源码+在线代码生成功能
- 关于Echarts官网httpsecharts.apache.org打不开的解决方案
- jolog扫地机器人怎么样_扫地机器人怎么样?
- docker update修改内存/cpu
- [转载] 网络游戏程序员须知 调试多人联机游戏
- CSS3表单设计–复古
- Thrift 在Windows环境下的编译与简单C++应用
- 翟佳:高可用、强一致、低延迟——BookKeeper的存储实现
- 流媒体技术原理与应用
- 【学习笔记】消息队列之MQ的基本概念
- 链克袋鼠Linker导入链克账户教程
热门文章
- 2,2,2,2-((ethene-1,1,2,2-tetrakis(benzene-4,1-diyl))tetrakis-(oxy)tetraacetic acid 2,2,2,2-四(乙烯基-苯氧
- aptana手动配置python环境_Aptana Studio 3配置Python开发环境图文教程
- 面试题之__ 星际穿越(java实现)
- MySQL 数据库安全管理
- CentOS7离线安装Cloudera Manager 5.14.1
- Mysql 的ANY_VALUE()函数和 ONLY_FULL_GROUP_BY 模式
- 好好说话之hijack retaddr
- html+css发光字体
- VMware Workstation下载及安装
- 企业微信 php sdk,thinkphp5.0集成企业微信SDK