组合型数据类型有列表、元组、集合、字典。
列表
列表是一系列值构成的。和C语言不同的是,python中列表元素可以是任意类型。
lt = [1,2,3] # 列表
列表中的元素类型可以是不同的数据类型。比如:
lt = [1,'a','2',2.0]
既然已经了解了列表的一些基础概念。那么该怎么引用呢?
首先,如何访问列表中的元素?这个与C语言相似,都是用下标表示。第一个从0开始。
lt = [1,2,3]
a = lt[0] # a = 1
b = lt[1] # b = 2
c = lt[2] # c = 3
也可以到这过来数,最后一个下标为-1,然后依次往前数,每次减一。比如:
lt = [1,2,3]
a = lt[-1] # a = 3
b = lt[-2] # b = 2
c = lt[-3] # c = 1
列表的加、乘法运算:
加法运算:将两个列表相加,将第二个列表的开头接到第一个列表的末尾
a = [1,2,3]
b = [2,2,3]
c = a + b
print(c) # c = [1,2,3,2,2,3]
列表切片:
列表名[star:end:step] ,不包括end,切片形式如这个。其中,如果省略star,就从下标0开始;如果省略end,就在最后一个元素结束;如果省略step,那么step = 1.
lt = [1,2,3,4,5,6]
lt[0:5:2] # [1,3,5]
最重要的就是列表的操作方式:增、删、查、改。
1、增:
list.append(obj),在列表的最后添加元素。
lt = [1,2,3]
lt.append(5) #此时lt = [1,2,3,5]
list.insert(index,obj),将一个元素插入到指定位置。
lt = [1,2,3]
lt.insert(1,'a') # lt = [1,'a',1,2,3]
2、删:
list.pop(index),如果索引不存在,会抛出异常IndexError
lt = [1,2,3,4]
x = lt.pop(1) # x = 2,lt = [1,3]
list.remove(obj),如果有两个相同的obj,那么删除第一个。不过不存在,就会抛出异常ValueError。
lt = [1,2,3,4]
lt.remove(2) # lt = [1,3,4]
lt1 = [1,2,3,2]
lt1.remove(2) #lt = [1,3,2]
del list[star:end:step].删除列表切片的位置。还可以删除指定位置的元素
lt = [1,2,3,4,5,6,7,8,9]
del lt[1:5:2] # lt[1,3,5,7,8,9]
lt2 = ['a','b','c']
del lt2[1] # lt2 = ['a','c']
3、查:
list.index(obj, start, end)。如果查询元素不存在,则抛出异常ValueError。如果存在,返回该元素的下标值。
lt = [1,2,3,4,56]
lt.index(56,0,5) # 4
obj in list.如果在obj在list中,返回True,反之返回False。
lt = [1,2,3,4]
print(4 in lt) #True
4、改:
改单个元素:list(index) = obj。该多个元素:list[star:end:step] = list2.