python笔记2-数据类型:列表[List]常用操作
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,索引从0开始,依此类推。
序列都可以进行的操作:包括 索引,切片,加,乘,检查成员。
列表是最常用的Python数据类型,list 是一种有序的集合、列表是可变变量,即能通过列表的下标进行修改值
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
nums = [1, 2, 3, 'beijing', 'shanghai'] #定义列表
num1 = [1, 2, 3, 4, 5, 6] #List内元素为int类型
num2 = ['a',' b', 'c', 'd'] #List内元素为str类型
List数据类型的如下:
增加元素:
nums = [1, 2, 3, 'beijing', 'shanghai'] #定义列表
nums.append('byz') #添加的值从最末尾添加,执行结果:[1, 2, 3,'beijing', 'shanghai','byz']
nums.insert(2, '') #在指定位置添加元素,2代表下标,执行结果:[1, 2, '888', 3, 'beijing', 'shanghai', 'byz']
删除元素:
nums = [1, 2, 3, 'beijing', 'shanghai']
# pop(num) 方法的返回值就是删除的指定位置的元素值
nums.pop() #默认删除最后一个元素,执行结果:[1, 2, 3, 'beijing']
nums.pop(2) #删除指定位置的元素,执行结果:[1, 2, 'beijing']
nums.clear() #清空列表,执行结果:[]
del nums[0] #使用del关键字,删除指定位置的元素,0代表下标,执行结果:[ 2, 'beijing']
nums.remove('beijing') #remove()删除方法,传入的参数是 元素值,pop()删除指定位置元素,传入的参数是下标
修改元素:
nums = [1, 2, 3, 'beijing', 'shanghai'] #定义列表
#修改,通过下标来修改list元素值
nums[0] = 'hello' #修改List内的元素值,执行结果:['hello', 2, 3, 'beijing', 'shanghai']
nums[5] = 'haha' #修改不存在的下标,报错信息:IndexError: list assignment index out of range
查询元素:
nums = [1, 2, 3, 'beijing', 'shanghai'] #定义列表
#查询,通过下标和for循环来遍历取值
print(nums[3]) #通过下标取值,下标从0开始,执行结果:beijing
for num in nums:
print(num) #通过for循环,遍历list内的元素
List中的count(元素)方法,可以用来判断元素是否存在List内,用法如下:
#判断元素是否存在List内,可以使用in方法,也可以使用count()方法
names = [1, 2, 3, 'beijing', 'beijing', 'shanghai']
print(names.count('beijing')) #查找元素在list里面的次数,执行结果为:2
print(names.count('hahah')) #若查找的元素不在list里面,返回结果为0
num = names.count('beijing')
if num >0:
print('说明元素存在')
else:
print('元素不存在')
获取List元素的下标,用法如下:
names = [1, 2, 3, 'beijing', 'beijing', 'shanghai']
print(names.index('beijing')) #获取beijing这个元素的下标值,如果有多个元素时,返回第一个元素的下标值
print(names.index('a')) #如果查找的元素不存,则报错:ValueError: 'a' is not in list
print(names.index('beijing', 2)) #可以指定从哪个元素开始查找,2代表开始查找的下标
print(names.index('beijing', 2, 3)) #可以指定查找范围,2,3代表开始、结束的下标值,查找范围不包含结束下标对应的元素,顾头不顾尾
List的extend方法,更改列表的值,用法如下:
names = [1, 2, 3, 'beijing', 'beijing', 'shanghai']
status = ['ywq', 'lhl', 'yqq']
print('列表合并的结果:', status + names) #两个列表List合并,产生一个新的变量,执行结果:['ywq', 'lhl', 'yqq', 1, 2, 3, 'beijing', 'beijing', 'shanghai']
print('这个是extend:', status.extend(names)) #extens没有返回值,执行结果为:None
print('extens后的status:', status) #将names列表的 添加 到status里,status的值进行了更改
list的extend 与 appen方法的区别:
nums = [23, 34, 21, 2, 33, 456, 12]
status = ['a','b','c']
print(status.extend(nums))
print(status) #extends是将nums的添加到 status,执行结果为一维数组:['a', 'b', 'c', 23, 34, 21, 2, 33, 456, 12]
nums = [23, 34, 21, 2, 33, 456, 12]
status = ['a','b','c']
print(status.append(nums))
print(status) #append 是nums列表作为一个元素 添加到status列表的最后面,执行结果为二维数组:['a', 'b', 'c', [23, 34, 21, 2, 33, 456, 12]]
排序sort方法,用法如下:
nums = [23, 34, 21, 2, 33, 456, 12]
print('nums排序前:', nums) #执行结果:[23, 34, 21, 2, 33, 456, 12]
nums.sort() #默认是升序排列
print('sort 排序后的nums:', nums) #执行结果:[2, 12, 21, 23, 33, 34, 456]
nums.sort(reverse=True) #指定reverse=True,排序为降序排列
print('降序排列的nums:', nums) #执行结果:[456, 34, 33, 23, 21, 12, 2]
反转数组,如下:
nums = [23, 34, 21, 2, 33, 456, 12]
print(nums.reverse()) #反转的是nums的值,nums.reverse()没有返回值,执行结果为None
print(nums) #反转后的nums,执行结果:[12, 456, 33, 2, 21, 34, 23]
多维数组,获取元素的值:
num = [1, 2, 9.8, ['a', 'b', ['hehe', 'haha']]]
print(num[3][0]) #获取二维数组 a这个元素值
print(num[3][2][0]) #获取三维数组,hehe这个元素值
切片操作
切片也就是另一种方式获取列表的值,它可以获取多个元素,可以理解为,从第几个元素开始,到第几个元素结束,获取他们之间的值,格式是name:[1:10],比如说要获取name的第一个元素到第五个元素,就可以用name[0:6],切片是不包含后面那个元素的值的,记住顾头不顾尾;
names = ['zcl','py','byz']
print(names[0:2]) #切片的意思就是从list或者字符串里面,取几个元素,执行结果['zcl', 'py']
print(names[:2]) #默认从0开始取值,开始下标0可以不用写,执行结果:['zcl', 'py']
print(names[1:]) #从第1个下标开始取值,取后面所有的值,那么结束下标值可以不写
print(names[:]) #不写开始、结束的下标时,默认取整个列表的值
print(names[-1:]) #取最后一个值,下标从-1开始
切片的步长:
nums = list(range(1,21))
print(nums[0:11]) #执行结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
print(nums[0:11:2]) #每隔2个字符取一个值,2是步长,执行结果:[1, 3, 5, 7, 9, 11]
print(nums[::-1]) #切片步长为负数时,从后往前取值,取整个列表的值,执行结果:[20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
如果有写的不对的,欢迎指出~~
python笔记2-数据类型:列表[List]常用操作的更多相关文章
- python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍
目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...
- python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍
目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...
- python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍
目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...
- [PY3]——内置数据结构(1)——列表及其常用操作
列表及其常用操作_xmind图 about列表 列表是一个序列,用于顺序存储数据 列表分为两种:ArrayList(用数组实现).LinkedList(用链表实现) 定义与初始化 #l ...
- python数据类型:字典dict常用操作
字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的: Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的. Value:任意数据(int,str,boo ...
- Python自学笔记6-列表有哪些常用操作
列表是Python中最重要的数据类型,它使用的频率非常非常的高,最大程度的发挥Python的灵活性. 和字符串一样,列表的操作方法也有很多.如果说一头钻进去,可能会导致学习没有重点.在这篇文章当中,首 ...
- python列表的常用操作
列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型.比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: 列表是p ...
- Python知识点入门笔记——特色数据类型(列表)
Python中提供了列表这种数据类型(类型为list)来存储多个值构成的序列 用逗号将不同数据分隔开,整体放在一个方括号[]里就创建了列表 列表中的数据类型可以是相同的,也可以是不同的 列表中还可以嵌 ...
- Python笔记之数据类型
数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定 ...
- python笔记(1)---数据类型
数据类型 基本的五大数据类型 对python中的变量有如下的五种基本的数据类型: Number数字 list列表 Tuple元组 string字符串 Dictionary字典 1.Number [注意 ...
随机推荐
- 每日踩坑 2019-04-08 VS2015未能找到路径“…\bin\roslyn\csc.exe”的解决方案
使用 Nuget 安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 包即可. VS2017都是用 roslyn 编译, VS2015原本的编译 ...
- Mysql数据库小结
1. 基础概念 1.1 数据 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机 在计算机中描述一个事 ...
- Cesiumjs初学第一天
官网demo地址: https://cesiumjs.org/Cesium/Apps/Sandcastle/?src=Geometry%20and%20Appearances.html&lab ...
- 早期(编译器)优化--Java语法糖的味道
1.泛型与类型擦除 泛型的本质是参数化类型的应用,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口和泛型方法.在泛型没有出现之前,只能通过 ...
- U3D面试题四
1.配置Unity3D调试环境 在windows环境下,设置unity3d的编辑器调试环境方法: 点击“Edit‘---”Preferences“,弹出如下窗口 选择MonoDeveop即可. 在编辑 ...
- Windows10系统重置网络设置
使用Windows10系统户很可能会遇到网络异常,连接不上网的情况? 如此,简易方法可以尝试下.重置网络,教程如下: 1.//按下WIN+X(或右键点击开始按钮),然后选择“命令提示符(管理员)”; ...
- 第二章 flex输入输出
flex程序默认总是从标准输入读取, 实际上,词法分析程序都从文件读取输入 flex总是通过名为yyin的文件句柄读取输入, 下面的例子,我们修改单词计数程序,使得它能从文件读取输入 /* even ...
- .Net性能的方方面面(必看官方经典)
更多性能提高相关文章,必看 https://msdn.microsoft.com/en-us/library/hh917314.aspx Chapter 1 - Fundamentals of Eng ...
- 深入浅出的理解框架(Struts2、Hibernate、Spring)与 MVC 设计模式
现在许许多多的初学者和程序员,都在趋之若鹜地学习Web开发的宝典级框架:Struts2,Spring,Hibernate.似乎这些框架成为了一个人是否精通Java,是否会写J2EE程序的唯一事实标准和 ...
- 关于“UI线程”
http://www.cppblog.com/Streamlet/archive/2013/05/05/199999.html 缘起 这是一篇找喷的文章. 由于一些历史原因和人际渊源,周围同事谈论一些 ...