学习Python元组,有哪些必须要掌握的内容?
①Python元组
定义
元组是Python的一种内建数据结构.关于元组:
①.、元组属于序列,可以存放任意元素(任意类型对象),且有序(前后位置关系).
元组不可变,某些操作比列表高效.
创建元组
可以用以下两种方法创建元组:
①.、使用()创建
图:使用()创建元组
使用()可以创建元组,元组元素间使用","分隔,元组内部元素可以是任意元素,也可以是元组.
图:创建元组代码示例
元组不可变除了不能修改,也不能删除元组元素,但删除与元组绑定的变量是没问题的.
图:元组不可变
使用()方式创建只有一个元素的元组时要注意,因为一个元素使用()括起来,表示元素本身,如100, (100),两者等价,如果创建只包含100的元组应该使用:(100,)方式.
图:使用()创建只有一个元素的元组
使用构造函数tuple()创建元组.了解更多信息可以使用help(tuple)来查看具体帮助内容.
图:tuple函数帮助
①.、tuple()如果没有参数创建一个空元组.
图:使用tuple函数创建元组
和字符串列表一样,元组支持使用整数索引(下标方式访问),也支持切片方式访问元组的元素.
!!!需要注意的是下标索引不能越界!!!
①.、使用索引访问:
图:使用索引访问元组元素
图:使用切片访问元组
常用内建函数len、max、min、sum、reversed可以操作元组,函数解释如下:
操作示例如下:
注意事项:
使用min,max,sum函数操作元组,元组元素类型能被函数接受才可以,否则将报异常等错误.
主要有count和index方法:
count返回元组中对应值的个数,index返回对应值的位置(索引).
元组支持 + 连接, * 复制运算,in /not in 运算
图:元组运算
字符串,元组,列表都属于Python的序列结构,序列具有很多相同的属性和操作方法,如:序列中的每个元素被分配一个序号(位置,也叫索引),序号(索引)从0开始,依次类推;序列都支持切片操作等等.
图:序列通用操作
Python内置了多种序列结构:字符串、列表、元组、Unicode字符串、buffer对象、range对象.序列是Python中一种重要的数据结构,必须要掌握,也很容易掌握.
collections.nametuple 是一个工厂函数,可以用来构建一个带字段名的元组,和一个有名字的类
Card = collections.nametuple('Card', ['rank', 'suit'])
可以通过字段名或位置来获取一个字段的信息
_fields返回包含这个类所有字段名称的元成
_make方法
_asdict() 把具名元组以collections.OrderedDict的形式返回
在Python中,元组(Tuple)与列表(List)类似,也是一个有序的序列,但元组是一个不可变对象,其一旦初始化后便无法进行修改.
一般在创建元组时,分为创建空元组和非空元组,其创建方式如下:
从上面可以看到,我们只需要把元组的所有元素放在 小括号 () 里面,每个元素之间通过 逗号 , 间隔起来即可,当然和列表一样,元组中同样允许存放不同数据类型的元素.
元组中使用的 () 是常见的数学运算符,如果参考列表的创建,如下:
从上面可以看到,我们创建出来的压根就不是元组类型.那么我们想创建一个只包含一个元素的元组时,需要怎么创建呢?
很简单,只需要在元素后加上一个 逗号 , ,这样创建出来就是一个元组.
当我们需要访问元组中的元素,可以类似列表一样通过索引取值或切片取值.
如果访问的索引不存在,那么会报错: IndexError: tuple index out of range
在元组中,可以像列表一样使用切片,语法为: 元组[start:end:step] ,通过切片可以获取到元组中指定范围的元素,返回结果是一个新元组.今天这一节,需要注意切片的规则是左闭右开,也就是说包含头部 start,但不包含尾部 end ,而 step 则表示切片的步长,需要每间隔 step 个元素取一次.
在上面我们提到了元组是不可变的,这就意味着我们创建一个元组之后,不能再去改变其值了,比如下面这样就会出现报错:
假设元组中存在元素是一个可变对象,如果我们不改变元组,但改变了可变对象的值,又会得到怎么的结果呢?请看下面实例:
元组是不可变的,所以呢我们就不能删除元组中的元素,但是,我们可以通过 del 语句删除整个元组.
通过关键字 in ,可检查当前元组中是否包含指定元素,返回结果为布尔值 True 或 False.
通过关键字 in ,还可以用于遍历当前元组.
元组是不可变的,即元组的项不能被修改.元组用圆括号"()"括起来,并用逗号","来分隔其中的项.
例如,下面的元组包含了三个不同数据类型的项:
与列表不同的是,元组一旦创建就不可修改,如果尝试修改,Python解释器会报错:
元组是一种序列类型,所以呢,上一节介绍的通用序列操作元组也都支持,此处不再赘述.下面要介绍的是元组的另外一些用法或特性.
①.、 创建元组
在创建元组时,可以不用加圆括号(除非它是其他数据类型的一部分,如一个在列表中的元组,此时必须加圆括号):
可以使用元组的工厂函数tuple()创建元组.如果要创建一个空的元组,可以使用不包含任何项的圆括号或者是没有参数的tuple()函数:
tuple()函数也可以有参数,且参数必须为可迭代对象:
创建只有一个项的元组时有个"小陷阱",即用圆括号创建元组时,如果括号中只有一个项,而没有逗号,那么创建的并不是元组,而是这个项本身的类型:
创建只有一个项的元组,应该在该项的后面紧跟着一个逗号(或者使用tuple()函数):
元组与列表一样,可以嵌套,同样元组中也可以包含列表:
关于Python的基础问题可以看下这个网页的视频教程,网页链接,希望我的回答能帮到你.
语法格式:
如:
①.、访问列表元素
列表中元素的索引号从0开始标记,访问列表元素时,可以直接按照索引号读取.
输出结果:男
和字符串一样,序列都是可以使用切片操作的.
输出结果:['张三', '男']
格式:range(start, stop [,step]) ;start 指的是计数起始值,默认是 0;stop 指的是计数结束值,但不包括 stop ;step 是步长,默认为 1,不可以为 0 .range() 方法生成一段左闭右开的整数范围.
可以使用range()函数创建数值列表,如:
print(list1)
语法格式如下:
del listname
其中,listname为要删除列表的名称.
删除列表与删除变量的方法是完全一样的,前面已经介绍过了.
常用的遍历列表的方法有是利用for语句,举例如下:
list1=list(range(10))
for item in list1:
print(item,end=' ') # end=' '表示以空格结束,如果不写这个参数,相当于默认值end=' '
为了获取列表元素的索引值,就需要使用enumerate()函数.
for index,item in enumerate(list1):
print(index,'-',item,end=' ')
追加元素
list1=['春','夏','秋']
list1.append('冬')
list1
['春', '夏', '秋', '冬']
还有一种方法,就是使用"+"号将两个序列连接起来.如:
list1=list1+['冬']
输出结果为:['春', '夏', '秋', '冬']
注意,下面的做法是错误的:
list1=list1+'冬'
Traceback (most recent call last):
File " ", line 1, in
TypeError: can only concatenate list (not "str") to list
从这个提示可知,列表只能与列表连接,而不能与字符串连接.
修改元素
['春', '夏', 'autumn', '冬']
删除元素
['春', '夏', '冬']
在讨论列表元素排序时,为了将有序列表变成无序列表,这里用到了shuffle()函数,但它不是Python的内置函数,需要先使用import语句将random模块包含进来,这样才能像使用内置函数那样使用扩展模块中的函数.
import random #导入random模块
random.shuffle(list1) #用random包中的shuffle()函数将list1中元素次序打乱
list1.sort() #对list1升序排列
random.shuffle(list1) #将list1顺序重新打乱
list1.sort(reverse=True) #对list1降序排列
方法sort()的语法格式:
listname.sort(key=None,reverse=False)
其中,listname表示要排序的列表;key表示指定一个键,如"key=str.lower"表示排序时不区分字母大小写;reverse为True表示降序排列(为默认值,可省缺),为False表示升序排列.
还有一个函数sorted(),功能与方法sort()相似.格式如下:
sorted(listname,key=None,reverse=False)
例1:生成指定范围的数值列表.
import random
radius
#生成列表s,将计算得到的周长值保存起来,其中round()可以保留指定小数位,格式 round(var, n),var为变量名,n为指定保留小数位.
s
good
count()、index()和sum()方法
count()方法
用于统计指定元素在列表中出现的次数.
例:
list1=['a','b','c','d','e','f','c','d','e','a','b','c','d']
num=list1.count('c') #统计列表list1中'c'的个数
num
index()方法
用于获取指定元素在列表中第一次出现的索引值.
position=list1.index('c')
position
sum()方法
用于计算数值列表中全部或指定元素的和.
total=sum(list1) #计算列表list1中全部元素的和
total
total=sum(list1,1) #在列表list1全部元素的和后,在加上参数("1")的值
二维列表
......
通俗地讲,如果一个列表中的元素本身就是一个列表,则这个列表就是一个二维列表.
list1=['a1','b1','c1','d1']
listtwo
如果要查看二维列表listtwo按照行、列的排列,可以运行如下代码:
print(listtwo[i][j],end=' ')
print()
运行结果:
a1 b1 c1 d1
如果要读取二维列表中的某一行,可以使用如下方法:
如果要读取某一个元素的值,可以使用如下方法:
Python中tuple()函数的基本语法如下:
tuple(iterable)
其中,iterable是一个可迭代的对象,例如一个列表或一个字符串.tuple()函数会将这个可迭代对象转换为一个元组,并返回结果.
mytuple = tuple(mylist)
看完小编介绍的linux刷新界面命令,Python中tuple()函数的基本语法是将一个可迭代的对象转换为一个元组,并返回结果.
以上就是土嘎嘎小编为大家整理的python创建元组函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!