基础数据类型(二)
1、列表List
列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如JS中叫数组,以[]括来表示,每个元素以逗号隔开,而且列巴内容可以存放各种数据类型的数据比如:
list = ['hi', True, (4,5,6), ['A', 'B', 'C'], {'name':'Alex'}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
1.1、列表元素的添加
#1、append(obj)在列表末尾添加新的元素
list = ['A','B','C',2,True]
print(list) #['A', 'B', 'C', 2, True]
list.append("D")
print(list) #['A', 'B', 'C', 2, True, 'D']
list.append([1,2,3])
print(list) #['A', 'B', 'C', 2, True, 'D', [1, 2, 3]]
#2、insert(index, obj)插入元素,index为要插入的索引位置
list = ['A','B','C',2]
list.insert(3,'egon')
print(list) #['A', 'B', 'C', 'egon', 2]
#3、extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)即迭代追加
list = ['A']
list.extend('机器人')
print(list) #['A', '机', '器', '人']
list.extend([True,2])
print(list) #['A', '机', '器', '人', True, 2]
list.extend(('1','2'))
print(list) #['A', '机', '器', '人', True, 2, '1', '2']
1.2、列表元素的删除
#1、pop(index) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list = ['A','B','C','D','E']
list.pop() #默认删除最后一个
print(list) #['A', 'B', 'C', 'D']
retval = list.pop(2) #移除元素返回值
print(retval) #C
print(list) #['A', 'B', 'D']
#2、remove(obj) 移除列表中某个值的第一个匹配项,无返回值
list = ['A','B','C','D','E']
retval = list.remove('C')
print(retval) #None
print(list) #['A', 'B', 'D', 'E']
#3、del 删除列表元素
#(1)功能一:删除列表
list = ['A','B','C','D']
del list
print(list) #<class 'list'>
#(2)功能二:可以按照索引或切片去删除元素()
list = ['A','B','C','D','E','F']
del list[4]
print(list) #['A', 'B', 'C', 'D', 'F']
del list[0:2] #切片0:2,删除索引为0、1,不包括2
print(list) #['C', 'D', 'F']
list1 = [1,2,3,4,5,6]
#del list[起始位置:步长]
del list1[1::2] #删除所有索引为奇数的元素
print(list1) #[1, 3, 5]
#4、clear() 清空列表,无返回值
list = ['A','B','C','D','E','F']
list.clear()
print(list) #[]
1.3、列表元素的修改
list = ['alex','taibai','wusir','ritian'] #(1)、按照索引去改 list[0] = '男神' print(list) #['男神', 'taibai', 'wusir', 'ritian'] #(2)、按照切片去改 list[0:2] = ['太白','Alex'] print(list) #['太白', 'Alex', 'wusir', 'ritian']
1.4、查询
#1、按索引或切片查找
list = ['A','B','C','D','E','F']
print(list[0]) #A
print(list[0:3]) #['A', 'B', 'C']
#2、for循环查找
list = ['A','B','C','D','E','F']
for item in list:
print(item, end=' ') #A B C D E F
#3、index(obj) 从列表中找出某个值第一个匹配项的索引位置
list = ['A','B','C','D',]
print(list.index('C')) #2
#4、sort() 对列表中元素进行排序
list = [1,3,6,8,7,4,2,9,10]
#(1)从小到大
list.sort()
print(list) #[1, 2, 3, 4, 6, 7, 8, 9, 10]
#(2)sort(reverse) 从大到小
list.sort(reverse=True)
print(list) #[10, 9, 8, 7, 6, 4, 3, 2, 1]
#5、reverse() 反向列表中元素,即倒序
list = [1,3,6,8,7,4,2,9,10]
list.reverse()
print(list) #[10, 9, 2, 4, 7, 8, 6, 3, 1]
#6、count(obj) 统计某个元素在列表中出现的次数
list = [1,3,5,7,3,8,4,2,9]
print(list.count(3)) #2
1.5、列表常用函数
#1、len(list) 列表元素个数 list = [1,3,4,5,6,9,2,10] print(len(list)) #8 #2、max(list) 返回列表元素最大值 list = [1,3,4,5,6,9,2] print(max(list)) #10 #3、min(list) 返回列表元素最小值 list = [1,3,4,5,6,9,2] print(min(list)) #1 #4、list(seq) 将元组转换为列表 aTup = (1,2,3,4) print(aTup) #(1, 2, 3, 4) alist = list(aTup) print(alist) #[1, 2, 3, 4]
1.6、列表与字符串的转换
alist = ['alex','wusir','taibai']
#1、列表转字符串
aStr = '_'.join(alist)
print(aStr) #alex_wusir_taibai
#2、字符串转列表
blist = aStr.split('_')
print(blist) #['alex', 'wusir', 'taibai']
2、元组Tuple
元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
实例如下:
tup1 = ('hello', 'python', 2018, 01)
tup2 = (1, 2, 3, 4, 5 );
tup3 = ("a", "b", "c", "d")
#创建空元组
tup = ()
当元组()中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:
#即该元素是什么类型,变量就是什么类型 tuple1 = (1) print(tuple1, type(tuple1)) #1 <class 'int'> #加上逗号',',才是元组 tuple1 = (1,) print(tuple1, type(tuple1)) #(1,) <class 'tuple'>
注:元组中的方法与列表的使用方式相同,在此不再赘述。
元组的子元素不能更改,但孙子元素有可能更改
实例如下:
#元组中孙子元素的修改
aTup = (1,2,'wusir',[1,2,3],(2,3,4),'taibai',True)
aTup[3].pop(1)
print(aTup) #(1, 2, 'wusir', [1, 3], (2, 3, 4), 'taibai', True)
aTup[3].append('taibai')
print(aTup) #(1, 2, 'wusir', [1, 3, 'taibai'], (2, 3, 4), 'taibai', True)

浙公网安备 33010602011771号