Python——数据类型之list、tuple
本篇主要内容
• list初识
• list元素的访问
• list内部所有的方法
• tuple介绍和与list用法的比较
我觉得Python里面用的最多的就是List了,感觉好强大。他能存各种东西。
1、首先直观的看一下list这个数据类型
a=[1,2.1,True,'',[1,2]]
for i in a:
print(i)
输出之后
1
2.1
True
12
[1, 2]
里面的for循环之前说过了,能遍历里面的所有元素。可以直观的看到,list里面可以存各种数据类型的东西。
2、list的访问
第一种是跟C一样,直接下标
a=[1,2,3,4,5]
print(a[0])
print(a[4])
输出
1
5
注意这里也是从0开始访问第一个元素。
第二种,Python支持反向访问。
a=[1,2,3,4,5]
print(a[-1])#访问倒数第一个
print(a[-2])#访问倒数第二个
输出
5
4
第三种,区间访问
a=[1,2,3,4,5]
print(a[0:2])#访问第1个到第2个数据。
print(a[1:4])#访问第2个到第4个数据
输出
[1, 2]
[2, 3, 4]
这里要注意,两个数字之间是冒号,a[m:n]指的是访问从[m,n),前闭后开区间的数据。所以a[1:4]访问的是下标[1,4),也就是第2到第4个数据。(下标为4的第5个数据没有访问到)
3、list类的方法
(1)append:在列表最后追加元素
a=[,,,,]
print(a)
a.append()
print(a)
输出
[, , , , ]
[, , , , , ]
(2) clear:删除所有元素
a=[1,2,3,4,5]
print(a)
a.clear()
print(a)
输出
[1, 2, 3, 4, 5]
[]
(3) copy:复制得到一个一模一样的列表
a=[1,2,3,4,5]
b=a.copy()
print(b)
输出
[1, 2, 3, 4, 5]
这里要注意与b=a的区别。b=a只是把a的地址给b了,修改b还是等于修改a。
注意下面两个代码的区别
a=[1,2,3,4,5]
print(a)#初始的a
b=a.copy()
b.clear()#将b清空
print(a)#把b清空后的a
print(b)#把b清空后的b
输出
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[]
把b=a.copy改成b=a
a=[1,2,3,4,5]
print(a)#初始的a
b=a
b.clear()#将b清空
print(a)#把b清空后的a
print(b)#把b清空后的b
输出
[1, 2, 3, 4, 5]
[]
[]
这点跟C语言一模一样。。。用的时候一定要注意。
(4)count(self, value):统计某个值输出的次数
a=[1,2,3,3,4,5]
print(a.count(1))
print(a.count(3))
print(a.count(6))
输出
1
2
当然,这里不一定是数字,
a=['I Love You','I Love Albert','I Love YZP','I Love You']
print(a.count('I Love You'))
输出
2
(5)extend(self, iterable):在后面追加一个列表
a=[1,2,3,4,5]
b=[6,7,8,9]
a.extend(b)
print(a)
输出
[1, 2, 3, 4, 5, 6, 7, 8, 9]
(6)index(self, value, start=None, stop=None),从start与end之间查找value的索引值。默认从列表的全部查找。
a=[1,2,3,4,5,6,7,8,9]
print(a.index(7))
print(a.index(7,0,7))
print(a.index(7,0,6))
输出
6
Traceback (most recent call last):
6
File "C:/Users/admin/PycharmProjects/temp.py", line 5, in <module>
print(a.index(7,0,6))
ValueError: 7 is not in list
注意:[start,end)也是前闭后开区间。
如果找不到会报错ValueError
(7)insert(self, index, p_object):在索引index后插入一个值p_object
a=[1,2,3,4,5,6,7,8,9]
a.insert(6,7)
print(a)
输出
[1, 2, 3, 4, 5, 6, 7, 7, 8, 9]
(8)pop(self, index=None):删除索引为index的值,默认删除最后一个。
a=[1,2,3,4,5,6,7,8,9]
print(a)
a.pop()
print(a)
a.pop(0)
print(a)
输出
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8]
[2, 3, 4, 5, 6, 7, 8]
(9) remove(self, value):删除列表中值为value的元素
a=[1,2,3,4,5,6,7,8,9]
a.remove(7)
print(a)
输出
[1, 2, 3, 4, 5, 6, 8, 9]
注意,如果列表中有多个值为value的元素,它只删除第一个。
(10)reverse(self):列表反转
a=[1,2,3,4,5,6,7,8,9]
a.reverse()
print(a)
输出
[9, 8, 7, 6, 5, 4, 3, 2, 1]
(11)sort(self, key=None, reverse=False):给列表排序key是表示按照某个规则排序,reverse是选择升序还是降序,默认升序。
def Sec(a):
return a[1]
a=[[1,2],[4,3],[3,1]]
a.sort(key=Sec,reverse=True)
print(a)
输出
[[4, 3], [1, 2], [3, 1]]
代表按照列表中每个元素的第二个元素降序。Sec函数就是返回第二个元素的值。
list内部的方法就这么多了。
第二个就是tuple(元组)
tuple其实跟list差不多,但tuple的内部元素初始化后不能修改。(可以再重新初始化)
a=(1,2,3,4,5)
print(a)
a=(6,7,8,9,0)#重新初始化元组
print(a) a[0]=9#试图修改元组里面的元素
输出
(1, 2, 3, 4, 5)
(6, 7, 8, 9, 0)
但又报错
Traceback (most recent call last):
File "C:/Users/admin/PycharmProjects/temp.py", line 6, in <module>
a[0]=9#试图修改元组里面的元素
TypeError: 'tuple' object does not support item assignment
谨记:元组元素初始化后不能修改
元组的方法
(1) count(self, value):统计value的数目,用法跟list一样
(2)index(self, value, start=None, stop=None),用法同list
Python——数据类型之list、tuple的更多相关文章
- python数据类型之元组(tuple)
元组是python的基础类型之一,是有序的. 元组是不可变的,一旦创建便不能再修改,所以叫只读列表. name = ('alex', 'jack') name[0] = 'mark' # TypeEr ...
- Python数据类型--元组(tuple)
元组与列表非常相似,最大区别在于: (1)元组是不可修改的,定义之后就"固定"了. (2)元组在形式上是用()这样的圆括号括起来 (3)元组不能插入或删除元素 注:元素可修改与不可 ...
- python基础3 ---python数据类型二
ython基础 一.python数据类型 ------列表(list) 1.定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性:可存放多个不同类型的值:可修改指定索 ...
- Python数据类型的内置函数之tuple(元组),dict(字典),set(集合)
Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) tuple(元组)的操作 - (count)统计元组中元素出 ...
- python基础数据类型--元组(tuple)
python基础数据类型--元组(tuple) 一.元组的定义和特性 定义:与列表相似,只不过就是将[ ] 改成 ( ) 特性:1.可以存放多个值 2.不可变 3.按照从左到右的顺序定义元组元素,下标 ...
- Python 数据类型及其用法
本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点型以及布尔类型.这些基本数据类型组 ...
- Python中的List,Tuple,Dic,Set
Python中的List,Tuple,Dic,Set List定义 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推 ...
- day01-day04总结- Python 数据类型及其用法
Python 数据类型及其用法: 本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点 ...
- Python数据类型及其方法详解
Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知 ...
- Python学习笔记(五)--Python数据类型-数字及字符串
Python数据类型:123和'123'一样吗?>>> 123=='123'False>>> type(123)<type 'int'>>> ...
随机推荐
- 2017.11.20 基于JSP+Servlet+JavaBean实现复数运算(一)
(7)在Servlet中使用JavaBean Servlet和JavaBean都是类,在Servlet中使用JavaBean有两种方式: 1.在一个Servlet中单独使用JavaBean 一般完成的 ...
- mac 开机白屏,卡进度条,无法进入系统
几个月前我的老Mac又一次的坏掉了,现在想起来就记录一下,哎,话说Apple的东西吧,好用是好用,一般都不会坏,质量保证,但是如果一旦坏了,那就是大问题!(坏了第一时间就应该打电话给apple客服小姐 ...
- element-UI动态的循环生成Popover弹出框的方法
父组件:<div class="itemLi" :class="{gray: (salse.flashsaleStatus==3 || salse.flashsal ...
- 5.vue解决动态img :src绑定
前言: 因为静态资源在vue中是需要经过编译的, 所以动态拼接的图片地址,在:src的时候不经过编译. 就会发生图片404,找不到资源. 那么本地图片资源如何动态的绑定呢? 实践: 其实,真相往往就是 ...
- javascript入门笔记5-事件
1.继续循环continue; continue的作用是仅仅跳过本次循环,而整个循环体继续执行. 语句结构: for(初始条件;判断条件;循环后条件值更新) { if(特殊情况) { continue ...
- this以及执行上下文概念的重新认识
在理解this的绑定过程之前,必须要先明白调用位置,调用位置指的是函数在代码中被调用的位置,而不是声明所在的位置. (ES6的箭头函数不在该范围内,它的this在声明时已经绑定了,而不是取决于调用时. ...
- easyui基于 layui.laydate日期扩展组件
本人后端开发码农一个,公司前端忙的一逼,项目使用的是easyui组件,其自带的datebox组件使用起来非常不爽,主要表现在 1.自定义显示格式很麻烦 2.选择年份和月份用户体验也不好 网上有关于和M ...
- LeetCode47.Permutations II(剑指offer38-1)
Given a collection of numbers that might contain duplicates, return all possible unique permutations ...
- 【ODT】cf896C - Willem, Chtholly and Seniorious
仿佛没用过std::set Seniorious has n pieces of talisman. Willem puts them in a line, the i-th of which is ...
- NuGet管理和还原程序包
在很多开源的程序下载下来不能使用,一般都是平台X86 和X64没有修改,还一个就是程序缺少资源包文件.用Nuget还原即可: 一般建议先修改好平台,然后用NuGet还原程序包.