列表类型(list)的使用
列表类型(list)的使用
在列表中要注意,列表list是有序的。列表的取值用索引值就可以。
列表的存储方式是:线性存储,他的复杂度是O的N倍。
列表的常用操作有:索引、切片、统计、追加、插入、删除、修改、反转、排序
索引:index方法
#索引 index 可以打印索引的位置序数 name = ['george','hervy','jack','rebeca','yellow','green'] print(name.index("yellow")) #打印元素对应的索引值
切片:通过index的索引值进行切片
#取值,切片取值 name = ['george','hervy','jack','rebeca','yellow','green',"jack"] print(name[1]) print(name[2:4]) print(name[2:]) print(name[-1])
统计:通过count()方法可以获取列表中,相同数据的个数。
name = ['george','hervy','jack','rebeca','yellow','green',"jack"] print(name.count("jack"))
追加:append()方法。
#追加 append() name = ['george','hervy','jack','rebeca','yellow','green',"jack"] name.append("Tom") name.append("jack") name.append("green") print(name) print(name.count("jack")) print(name.count("green"))
插入:insert()方法,该方法的参数是 (位置参数, "数据参数")。
#插入 insert() name = ['george','hervy','jack','rebeca','yellow','green',"jack"] name.insert(4,"TOM") #数字是要插入的索引值位置。后面跟要插入的数据 print(name)
删除:pop()方法、remove()方法、clear()方法、del方法。
#删除 pop()方法,参数是要被删除的数据的索引值 name = ['george','hervy','jack','rebeca','yellow','green',"jack"] print(name.pop(2)) # 这里打印的是pop删除的结果数据,也就是返回删除值,如果不添加索引值,则是默认移除列表最后一位。 print(name) #这里再打印就没有索引值为2的jack数据了
#删除 remove()方法,参数是要被删除的数据 name = ['george','hervy','jack','rebeca','yellow','green',"jack"] print(name.remove("jack")) #remove方法不会返回删除的值,并且参数也不是索引值,而是数据本身 print(name)
#删除 del方法,参数是要被删除的数据的索引值,del是将列表的某个元素或整个列表删除了 name = ['george','hervy','jack','rebeca','yellow','green',"jack"] del name[1] #直接删除列表中对应的索引值数据 print(name)
#删除 clear()方法 清空,没有参数,直接清空整个列表的内容 name = ['george','hervy','jack','rebeca','yellow','green',"jack"] name.clear() print(name)
修改:
# 修改 name = ['george','hervy','jack','rebeca','yellow','green',"jack"] print(name) print(name[name.index("jack")]) #获取要修改的数据的索引值,以及对应的数据 name[name.index("jack")] = "Tom" #对索引值的数据从新赋值 print(name)
扩展:extend()方法,可以将多个列表合并成一个列表。但合并时不会去重。extend的合并列表,之前的name2还是依旧存在的。
#扩展 extend() 在合并列表时,不会进行去重操作。 name1 = ['george','hervy','jack'] name2 = ['rebeca','yellow','green',"jack"] name1.extend(name2) print(name1)
# “+”操作也有extend操作的效果 name1 = name1 + name2 print(name1,name2)
反转:reverse()方法
#反转 reverse()方法,将列表内容反向输出 name = ['george','hervy','jack','rebeca','yellow','green',"jack"] name.reverse() print(name)
排序:sort()方法,按字母顺序排序。
int类型和str类型混用的情况,将数字变成字符串可以按ASCII码表的数值排序。
Python3中int类型和str类型不可混用排序。
特殊字符在更靠前的位置。
# 排序 sort()方法,按字母排序。数字按小到大排序。 name1 = ["george","gw","ga","hervy","jack","rebeca","yellow","green","jack"] name2 = [5,2,3,7,8,4] name1.sort() name2.sort() print(name1,name2)
name = ["george","gw","ga","hervy","jack","rebeca","yellow","green","jack","3","6","1","9"] name.sort() print(name)
拷贝 copy()方法:拷贝出的新的变量是完全独立的。
name = [1,2,3,4,['george','wang',3]] n2 = name.copy() name[1] = -2 name[4][0] = "GEORGE" name[4][2] = -3 print(name) print(n2)
copy的使用场景:信用卡的主卡和副卡,也就是两个不同的账户,但从一个地方出钱。刷主卡,副卡的额度也会变。
account = { 'name':'主卡', 'id':1234, 'info' : [200, 10 ] } account2 = account.copy() account2['name'] ="副卡" account["info"][1] += 30 print(account,account2)
-------- END --------