摘要:本文主要向大家介绍了Python语言入门的数据结构之列表和元组,通过具体的内容向大家展现,希望对大家学习Python语言入门有所帮助。
本文主要向大家介绍了Python语言入门的数据结构之列表和元组,通过具体的内容向大家展现,希望对大家学习Python语言入门有所帮助。
python语言中包含的数据结构比较简单,除了简单的变量以外,还有列表(元组)、字典、集合。对于数据结构的操作一般包含四种:增、删、查、改。本文主要介绍列表(list)(包括元组tuple)的操作。
python中的list是一个有序动态集合,能够随时向其中添加或者删除元素,而tuple则相反,是一个有序静态集合,即一旦创建就不能随修改。
list
· 创建(初始化)。list中的元素可以为任意类型,整型、字符型、列表、字典都可以.元素之间用逗号(,)隔开,整个list用[ ]包围。
la = [1,2,3]
lb = [1.2, 88, 'ss' ]lc = [] # 空列表,也可以这样创建: lc = list()
ld = [[1, 3,5],{'s':8}, 'ss', 2.5, 6] # list的元素很灵活,只要是对象即可
· 删除。list的删除很简单,直接使用python删除关键字:del 删除的内容, 这里删除的内容即可以是整个list,也可以是list中的某一个元素。
a = ['s','b', 'c']
del a[1] # 删除元素b
del a # 删除整个list
· 查找(索引)。list是一个有序集合,即通过元素的下标来索引元素,与c/c++类似,第一个元素的下标为0(MATLAB的第一个下标为1)。
a = [i for i in range(10)]for i in range(10):
print(a[i])
除了能正向索引,还能反向索引,并不需要知道list的长度,list的第一个元素的下标为0,最后一个元素的下标为-1,一次向前减一,即倒数第二个元素下标为-2
a = [i for i in range(10)]a[-1] # 最后一个元素,打印出来为9a[-2] # 倒数第二个元素,打印出来为8
除了上述通过索引来获取单个元素,还可以通过区间下标(左闭右开)来一次索引很多元素,python中称为这种方式为切片,需要注意的是区间下标为左闭又开,即不会索引到右边下标对应的元素,只会索引到它前一个元素。
a = [i for i in range(1,10,2)]
print(a[1:3]) # 打印元素3和5
print(a[1:-1]) # 第二个到倒数第二个
print(a[1:]) # 第二个以后的全部元素
屏幕输出:
[3, 5]
[3, 5, 7]
[3, 5, 7, 9]
修改。修改list一般有两种方式:
· 在list末尾直接增加元素,这样也增加了索引,增长了列表长度。通过append()方法实现
· 修改已有索引的元素的值,这样不增加索引,也不会增加列表的长度。
· a = [1,4,3] a.append(5) # 在末尾增加 a[2] = 9 # 通过索引直接修改list的操作符操作。对于 list也可以使用len()、+、* 等操作符,len(list)用来获取list的长度(最大索引值+1),+ 号用于组合列表,* 号用于重复列表。
a = [7,'ww','ii']length = len(a)
b = [9,44]
c = a + b #直接将a、b首尾相连
d = a*4 # 将列表a重复4次,并生成一个新的列表
*对于列表的操作只要没有赋值,就不会修改原列表的值,只会返回一个新的列表。例如上例中的+和操作、以及索引或者切片操作,都不会修改原list的值。*
· list包含的其他方法:
tuple
元组(tuple)是静态列表,初始化后就不能随表修改,用小括号( )表示,用下标索引,与list相比,没有修改的功能,其他都一样。在定义元组的时候我们需要注意:因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义。因此,Python规定,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义
t = (3,5)
t = (4, ) # 只有一个元素时,一定要记得加,
t = (1,'2','ss',['e','y']) #当元组中的元素为可修改的对象,比如list和dict时,这里的list和dict能够修改。
t[3][0] = 1 # 这里修改的是list而不是tuple,因为tuple的索引没有变
t[0] # 与list一样,用下标索引
本文由职坐标整理并发布,了解更多内容,请关注职坐标编程语言Python频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号