赞
踩
Python中的序列类型支持双向索引:正向递增索引和反向递减索引。举例如下:
Python中常用的序列类型主要有三种:字符串(str)、列表(list)、元组(tuple)。
之前已总结过字符串相关基本知识:http://t.csdnimg.cn/jBu4W
Python利用内存中一段连续的空间存储列表。列表没有长度的限制,可以包含任意元素。
①使用中括号" [ ] "创建列表。示例如下:
list_one = []
'运行
[ ]中包括的是列表元素,列表元素可以是整型、浮点型、字符串等基本类型,也可以是列表、元组、字典等组合类型,还可以是其他自定义类型;列表元素的类型可以相同也可以不同;列表中的元素使用“ , ”分隔。
②使用list()函数创建列表。
list()函数接收一个可迭代类型的数据,返回一个列表。示例如下:
- li_one = list(1) #因为int类型的数据不是可迭代类型,所以列表创建失败
- li_two = list('python') #字符串类型是可迭代类型
- li_three = list([1,'python']) #列表类型是可迭代类型
可迭代对象:支持通过for...in...语句迭代获取数据对象的就是可迭代对象。字符串、列表、集合和字典都是可迭代对象。
①以索引方式访问列表元素。
格式:list [ n ]。表示访问列表list中索引为n的元素。
②以切片方式访问列表元素。
切片用于截取列表中的部分元素,获取以一个新列表。切片的语法格式如下:list [m : n : step ]。以上格式表示按步长step获取列表list中索引m~n对应的元素(不包括list [n]),step默认为1;m和n可以省略,若m省略,表示切片从列表首部开始,若n省略,表示切片到列表末尾结束。示例如下:
- li_one = ['p','y','t','h','o','n']
- print(li_one[1:4:2]) #按步长2获取列表中索引1~4对应的元素
- print(li_one[2:]) #获取列表中索引2~末尾对应的元素
- print(li_one[:]) #获取列表中的所有元素
'运行
③在循环中依次访问列表元素。
列表是一个可迭代对象,在for...in...语句中逐个访问列表中的元素,示例如下:
- li_one = ['p','y','t','h','o','n']
- for i in li_one:
- print(i,end = ' ')
'运行
①append()方法:用于在列表末尾添加新元素。示例如下:
- list_one = [1,2,3,4]
- list_one.append(5)
- print(list_one)
'运行
②extend()方法:用于在列表末尾一次性添加另一个列表中的所有元素。示例如下:
- list_one = [1,2,3]
- list_two = [4,5,6]
- list_one.extend(list_two)
- print(list_one)
'运行
③insert()方法:用于按照索引将新元素插入列表的指定位置。示例如下:
- li_one = ['a','b','c']
- li_one.insert(1,'e')
- print(li_one)
'运行
①sort()方法:sort()方法用于按特定顺序对列表元素排序。
语法格式如下:sort(key=None,reverse=False)
以上格式中参数key用于指定排序规则,该参数可以是列表支持的函数,默认值为None;参数reverse用于控制列表元素排序的方式,该参数可以取值True或者False,取值为True 表示降序排列,取值为False(默认值)表示升序排列。
使用sort()方法对列表元素排序后,有序的元素会覆盖原来的列表元素,不产生新列表。示例如下:
- li_one = [4,2,5,1]
- li_one.sort()
- print(li_one)
'运行
②sorted()方法:用于按升序排列列表元素,该方法的返回值是升序排列后的新列表,排序操作不会对原列表产生影响。示例如下:
- list_one = [4,3,2,1]
- list_two = sorted(list_one)
- print(list_one)
- print(list_two)
'运行
③reverse()方法:用于逆置列表,即把原列表中的元素从右至左依次排列存放。示例如下:
- li = ['a','b','c','d']
- li.reverse()
- print(li)
'运行
①del语句:用于删除列表中指定位置的元素。示例如下:
- name = ['Lucy','Lily','John']
- del name[0]
- print(name)
'运行
del语句也可以删除整个列表。
②remove()方法:用于移除列表中的某个元素,若列表中有多个匹配的元素,remove()只移除匹配到的第1个元素。示例如下:
- li = ['h','e','l','l','e']
- li.remove('e')
- print(li)
'运行
③pop()方法:用于移除列表中的某个元素,若未指定具体元素,则移除列表中的最后1个元素。示例如下:
- number = [1,2,3,4,5]
- print(number.pop()) #移除列表中的最后一个元素,会打印被移除的元素
- print(number.pop(1)) #移除列表中索引为1的元素,会打印被移除的元素
- print(number)
'运行
④clear()方法:用于清空列表。示例如下:
- number = [1,2,3]
- number.clear()
- print(number) #会输出一个空列表:[]
'运行
列表推导式的基本格式:[ exp for x in list ]。其中,for...in...用于遍历列表(或其他可迭代对象),exp用于在每层循环中对列表中的元素进行运算。示例如下:
- ls = [1,2,3,4]
- ls_one = [data*data for data in ls]
- print(ls_one)
'运行
元组的表现形式为一组包含在圆括号“()”中,由逗号分隔的元素。元组中元素的个数、类型不受限制。
①使用圆括号可以直接创建元组。示例如下:t = (1,2,3) #即创建了一个包含多个元素的元组。
注意:若元组中只有一个元素,该元素之后的“ , ”不能省略。(即应写为 t = (1, ) )
②使用内置函数tuple()创建元组:当函数的参数列表为空时该函数创建空元组,当参数为可迭代对象时该函数创建非空元组,示例如下:
- t1 = tuple() #创建空元组
- t2 = tuple([1,2,3]) #利用列表创建元组(1,2,3)
- t3 = tuple("pyt") #利用字符串创建元组('p','y','t')
- t4 = tuple(range(3)) #利用可迭代对象创建元组(0,1,2)
'运行
③可以通过索引和切片访问元组的元素,也可以在循环中遍历元组。示例如下:
- t = (1,2,3,4,5,6)
- print(t[2]) #以索引方式访问元组元素
- print(t[2:4]) #以切片方式访问元组元素
- for i in t:
- print(i,end = '') #在循环中遍历元组
'运行
注意:元组是不可变类型,元组中的元素不能修改,即它不支持添加元素、删除元素和排序操作。
通常用大写字母(如A、B、S)表示集合,用小写字母(如 a、b、c)表示集合中的元素。
集合中的元素具有以下3个特征:①确定性:集合中的每个元素都是确定的。②互异性:集合中的元素互不相同。③无序性:集合中的元素没有顺序,若多个集合中的元素仅顺序不同,那么这些集合本质上是同一集合。
集合与列表和元组的区别是:集合中的元素无序但必须唯一。
并且Python 要求放入集合中的元素必须是不可变类型(Python中的整型、浮点型、字符串类型和元组属于不可变类型,列表、字典和集合本身都属于可变的数据类型)。
①使用{ }可以直接创建集合,举例:s1 = {1,2,3}
②使用内置函数set()也可以创建集合,该函数的参数列表可以为空,此时该函数创建一个空集合,举例:s = set ()
注意:使用{ }不能创建空集合(不包含元素的{ }创建的是空字典),空集合只能利用set()函数创建。
使用set()函数创建非空集合,需要为该函数传入可迭代对象,示例如下:
- s1 = set([1,2,3]) #传入列表,遍历后会输出{1,2,3}
- s2 = set('pyt') #传入字符串,遍历后会输出{'p','y','t'}
'运行
格式:{exp for x in set if cond}
解释:在 if 的条件下遍历集合set,以集合的形式输出符合条件的元素exp。
映射类型以键值对的形式存储元素。字典(dict)是Python唯一的内置映射类型,字典的键必须遵循以下两个原则:①每个键只能对应一个值,不允许同一个键在字典中重复出现。②字典中的键是不可变类型。
字典的语法格式:{键1:值1,键2:值2,...,键N:值N}
字典的值可以是任意类型,但键不能是列表或字典类型。
①使用{ }可以直接创建字典。
举例:d = {'A' : '123' , 'B' : 135}
②使用内置函数dict()也可以创建字典。
举例:d = dict({'A' : '123' , 'B' : 135})
字典的值利用键访问,语法格式为:字典变量[键]。
①使用方法get(),该方法根据键从字典中获取对应的值,若指定的键不存在则返回默认值(default)。get()方法的语法格式如下:d.get (key[, default])
举例:d = {'A' : 12} print(d.get('A'))
②字典涉及的数据分为键、值和元素(键值对),除了直接利用键访问值外,Python还提供了用于访问字典中所有键、值和元素的内置方法keys()、values()和items(),示例如下:
- dic = {'name':'Lily','age':23}
- print(dic.keys()) #获取所有键
- print(dic.values()) #获取所有值
- print(dic.items()) #获取所有元素
'运行
①当字典中不存在某个键时,在字典中新增一个元素使用以下格式:字典变量[键]=值。举例如下:
- dic = {'name':'Lily','age':23}
- dic['score']=78
- print(dic)
'运行
②使用update()方法也可以添加元素。举例:dic.update(score=89)
本质是通过键获取值,再重新对元素进行赋值。示例如下:
- dic = {'name':'Lily','age':23}
- dic.update(name='Amy') #使用update()方法修改元素
- dic['age']=67 #通过指定键修改元素
- print(dic)
'运行
(1)pop()方法:可根据指定键删除字典中的指定元素,若删除成功,该方法返回目标元素的值。示例如下:
- dic = {'name':'张三','age':23}
- print(dic.pop('name')) #输出 张三
- print(dic) #输出{'age':23}
'运行
(2)popitem()方法:可以随机删除字典中的元素,若删除成功,该方法返回被删除的元素。示例如下:
- dic = {'name':'张三','age':23}
- print(dic.popitem())
- print(dic)
'运行
(3)clear()方法:用于清空字典中的元素。示例如下:
- dic = {'name':'李四','score':23}
- dic.clear()
- print(dic)
'运行
格式如下:{ new_key : new_value for key , value in dict.items() }
针对数字类型的运算符对组合数据类型同样适用。
Python的字符串、列表和元组支持“+”运算符。与数字类型不同,组合数据类型相加不进行数值的累加,而是进行数据的拼接。示例如下:
- str1 = "hello "
- str2 = "world"
- print(str1+str2) #输出hello world
'运行
字符串,列表和元组可以与整数进行乘法运算,运算之后产生的结果为与原数据整数倍的拼接。以列表类型为例,示例如下:
- li_one = [1,2,3]
- print(li_one * 3)
- #输出[1,2,3,1,2,3,1,2,3]
'运行
这两个运算符称为成员运算符,用于判断某个元素是否属于某个变量。Python的字符串、列表、元组、集合和字典都支持成员运算符。示例如下:
- li_one = [1,2,3]
- print(1 in li_one) #输出:True
- print(1 not in li_one) #输出:False
'运行
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。