Python--基本的对象类型(列表_可变的数据类型)
1.1.5列表
以下方法均在python解释器中进行了测试,读者复制代码时,记得去掉注释符。
#!/usr/bin/env python # -*- coding: utf-8 -*- # ******************通过list类创建的对象****************** # list 类,列表 # 1:列表的格式 # li = [12,中国,"qwer",True,[12,"wqwq",[11,22,33,"44"],1323]] # 2: 列表用中括号括起来,列表元素之间以逗号隔开; # 列表中可以嵌套任意类型的对象; # 3:列表可以进行索引和切片的操作,也可以通过索引和切片取值 # li = [12,"中国","qwer",True,[12,"wqwq",[11,22,33,"44"],1323]] # print(li[4][2][3]) #索引 # print(li[4][2][1:3]) #切片 # 4:列表是有序的可变对象,列表内的元素可以原地修改,增加,删除 # li = [12,"中国","qwer",True,[12,"wqwq",[11,22,33,"44"],1323]] # del li[1] #索引删除某个元素 # del li[1:4] #切片删除元素 # print(li) # li.append("1111") #在末尾增加某个元素 # print(li) # li [1] = "china" #索引修改某个元素 # print(li) # li [1:4] = [12,34,56] #切片修改某个元素 # print(li) # 5:for循环,while循环,列表对象也是可迭代的,即就是可以通过for来遍历 # li = [12,"中国","qwer",True,[12,"wqwq",[11,22,33,"44"],1323]] # for x in li: # print(x) # 6:可以进行in,not in,len等操作 # li = [11,22,33,44] # a = 11 in li # print(a) # a = 11 not in li # print(a) # a = len(li) # print(a) #7:列表与字符串转换 # 列表转换为字符串: # 一:列表里面全部都是字符串,可以通过jion来讲列表转换为字符串 # li = ["hello","world","i","am","19","age"] # st = " ".join(li) #可以设置连接符 # print(st) # 二:列表里面不全都是字符串,通过for循环来转换为字符串 # li = ["i","am",19,"years","old"] # s = "" # for i in li: # s = s + str(i) # print(s) # 字符串转换为列表:通过list转换,list内部使用for来转换 # s = "1234qwer" # li = list(s) # print(li) # ******************list类中提供的方法****************** # 1:append方法:向列表末尾增加元素 # li = [11,22,33,44,"qwer"] # li.append("qq") # print(li) # 2:clear方法:清空列表 # li = [11,22,33,44,"qwer"] # print(li) # li.clear() # print(li) # 3:copy方法:浅拷贝,只复制列表的一级元素 # li1 = [11,22,33,44,[12,213,12,13],"qwer"] # li2 = li1.copy() #浅拷贝如果有嵌套,嵌套内容的更改会同时影响到拷贝方和被拷贝方,因为指向同一个地址 # print(li2) # li1 [4][2] = "aaa" # print(li1) # print(li2) # li2 [4][2] = "bbb" # print(li1) # print(li2) # 4:深拷贝,导入copy库,进行深拷贝操作 # import copy # li1 = [11,22,33,44,[12,213,12,13],"qwer"] # li2 = copy.deepcopy(li1) #深拷贝,嵌套内容的更改不会同时影响到拷贝方和被拷贝方,因为深拷贝在内存开辟了另一个空间 # print(li2) # li1 [4][2] = "aaa" # print(li1) # print(li2) # li2 [4][2] = "bbb" # print(li1) # print(li2) # 5:count方法:计算列表内的元素出现的次数 # li = [11,22,33,44,44,55,77,88,"44",[11,22,44]] # a = li.count(44) #count只会计算一级元素的个数 # print(a) # 6:extend方法:扩展列表,将传入的可迭代对象进行遍历扩展在列表末尾;注意:extend传入的参数必须是可迭代的 # li = [11,22,33,44] # a = li.extend("11111") # print(a) #可变对象进行扩展操作后没有返回值 # print(li) # a1 = li.extend(["qq",77,88]) # print(li) # 7:index:查找元素索引 # li = [11,22,33,44,"qq"] # print(li.index(33)) # 8:insert方法:在列表中插入元素,如果超过最大索引则会在末尾追加 # li = [11,22,33,44,"qq"] # li.insert(2,[111,11]) # print(li) # print(li.insert(2,666)) #insert方法也没返回值 # 9:删除列表元素 # li = [11, 22, 33, 44,22,"qq",66,77,88,99] # a1 = li.pop() #pop方法默认从末尾开始删除,并获取删除的值 # print(a1) # print(li) # a2 = li.pop(3) #pop方法也可以指定索引进行删除,并获取删除的值 # print(a2) # print(li) # a3 = li.remove(22) #remove指定元素进行删除,最左优先从左边开始删除 # print(a3) #remove方法没有返回值;如果删除列表中没有的元素会报错 # print(li) # 10:reverse方法:翻转列表中的元素 # li = [11,22,33,44,"a","c","d"] # li.reverse() #没有返回值 # print(li) # 11:sort方法:对列表的元素进行排序,没有返回值;默认是进行从小到大排序,而且元素必须同时为数字或者字符串 # li = ["a","c","w","0"] #reverse参数默认为False,也就是默认是进行从小到大排序 # li.sort(reverse = True) #reverse参数设置为True时,进行从大到小排序 # print(li)
为了将来做自己想做的事情努力.......