1.前言
最近几天在学python的四种结构化类型,分别是元组(tuple) 列表(list) 范围(range) 字典(dict),其中元组相对简单,它是字符串的扩展,它长度不可变的有序序列,列表是长度可变的有序序列,范围是不可变的,字典和列表很类似,字典是用键对其中的值引用,而列表是靠索引。
2.重点介绍
2.1 元组
元组中的单个元素可以是任意类型,并且彼此之间类型可以不同,组成是小括号中由逗号隔开的一组元素,同时,元组可以进行连接,索引,切片等操作
例如:
#元组
t1 = (1,'two',3)
t2 = (t1,3.25)
print(t2) #结果: ((1, 'two', 3), 3.25)
print((t1+t2)) #结果: (1, 'two', 3, (1, 'two', 3), 3.25)
print((t1+t2)[3]) #结果:索引,序号从零开始 (1, 'two', 3)
print((t1+t2)[2:5]) #结果:切片 (3, (1, 'two', 3), 3.25)
需要注意的小问题,要想表示只有一个元素构成的元组,写法t1 = (2,)不可漏掉逗号。
2.2 列表
列表使用中括号,每个值可以用索引标识,访问通过访问索引来访问列表中的对象,可以把列表看成c语言中的数组。单元素列表不用加逗号,下面是列表常见操作:
#列表
L1 = [1,2,3,1,2,3]
L2 = [4,5,6]
L3 = L1+L2
print('L3 = ',L3) #操作符'+'相当于创建并返回一个新的列表
L1.extend(L2) #在原有列表L1基础上,追加L2(对象),在原列表上修改
print('L1 = ',L1)
L1.append(L2) #追加一个L2(列表)在原列表上修改
print('L1 = ',L1)
a = L1.count(3) #返回某元素在列表中出现的次数
print(a)
L1.insert(2,7) #将对象e插入L中索引值为i的位置 L.insert(索引,对象)
print('L1 = ',L1)
L1.remove(6) #从列表中删除第一个出现的e
print('L1 = ',L1)
b = L2.index(5) #返回e第一次出现在列表中的索引值,若对象e不在列表中 抛出一个异常
print(b)
L1.pop(5) #删除并返回列表中索引值为i的项目,若列表空 抛出异常,i默认为-1,即列表最后一个元素
print('L1 = ',L1)
L2.sort() #升序排列,默认int型
print('L2 = ',L2)
L1.reverse() #元素逆置
print('L1 = ',L1)
2.3 范围
使用range函数会返回一个range对象,range中元素类型只能为整型。range的模式:range(start,stop,step) 或者 range(start,stop,1)(默认步长为1)返回整数数列start,start+step,start+2*step等等。range类型间可以用==操作符
如果两个范围表示一样(数字相同,顺序一样)的整数数列,就返回true,否则为false:
print(range(0,7,2) == range(0,8,2)) #范围中数字顺序一样
print(range(0,7,2) == range(6,-1,-2)) #顺序不一样
2.4 字典
可以将字典看成一个键/值对的集合 用大括号括起来,元素写法是键加冒号再加上值。
常见操作:
#字典,表示月份
dict = {'Jan':1,'Feb':2,'Mar':3,'Apr':4,'May':5,
1:'Jan',2:'Feb',3:'Feb',4:'Apr',5:'May'}
keys = []
print(len(dict)) #返回dict中项目的数量
print(dict.keys()) #返回键的视图
print(dict.values()) #返回值的视图
print('Jun' in dict) #某元素是否在列表中
print(dict[5]) #返回键为5 的项目
print(dict.get(8,None)) #返回字典中键值为8的值,若不存在返回None
del dict['Feb'] #从dict中删除键Feb
print(dict)
for e in dict: #转换成字符串循环输出键
keys.append(str(e))
print(keys)
说明:以上是第一次总结,后续还会有更多更新 ,此为博主原创,转载请注明转载链接