三、列表
li = [1,2,3,“age”,[11,“name”,“ss”],“alex”,True]
列表就是用中括号括起来,用“ ,”分割每个元素并且列表中的元素可以是数字,字符,列表,布尔值等(所有都可以放进去)
1、通过索引取值
print(li[1]) #2
2、通过给定范围取值(切片),结果也是列表
print(li[1:3]) #[2,3]
3、利用for、while循环,同样可以有continue,break
for item in li
print(item) #每个元素索取一遍
4、列表元素可以被修改
li[1] = 22 #也可以替换成字符串、列表、其他
print(li) #[1,22,3,"age",[11,"name","ss"],"alex",True]
li[2:4] = [19,'sss']
print(li) #[1,2,19,"sss",[11,"name","ss"],"alex",True]
5、删除列表元素
#通过索引删除
del li[2]
print(li) # [1,2,"age",[11,"name","ss"],"alex",True]
del li[2:5]
print(li) # [1,2,"alex",True]
6、判断元素是否在列表中用in操作
v = 3 in li
print(v) #True
#列表中的列表中的元素不在此列表中
v1 = 11 in li
print(v1) #False
7、去列表中列表元素,还通过索引取值
v2 = li[4][1]
print(v2) #name
v3 = li[4][1][2]
print(v3) #m
8、字符串可以转化成为列表反之也可以,但是数字不能转化成列表(内部是for循环(迭代),数字不可以迭代)
#字符串转化成列表
s = "shcj"
v = list(s)
print(v) #['s','h','c','j']
#列表转化为字符串(数字和字符串都包含)
s1 = [11,22,"age","name"]
r = str(s1)
print(r) #[11,22,"age","name"](整体就是一个字符)
s3 = ""
for i in s1
s3 += str(i)
print(s3) #1122agename
#只包含字符串时直接用字符串中的join方法
lis = ["age","name","sss"]
v = ''.join(lis)
print(v) #agenamesss
基本方法(类中提供的方法)
9、传参数在原值追加(不需要重新赋值):append(self,p_object)
li = [1,2,3,"age",[11,"name","ss"],"alex",True]
li.append(11)
li.append("open")
print(li) #[1,2,3,"age",[11,"name","ss"],"alex",True,11,"open"]
v = li.append(4)
print(v) #无任何值
li.append([123,"pp"])
print(li) #[1,2,3,"age",[11,"name","ss"],"alex",True,[123,"pp"]]
10、清空列表:clear(self)
li.clear()
print(li) #[]
11、拷贝(浅拷贝,后面还会出现深拷贝、复制等):copy(self)
v = li.copy()
print(v) #[1,2,3,"age",[11,"name","ss"],"alex",True]
12、计算列表中元素出现的次数:count(self,value)
li = [11,22,33,11,33,11]
v = li.count(11)
print(v) #3
13、扩展列表:extend(self,iterable),参数是可迭代对象
补:iterable可迭代对象,即可以用for循环
li = [11,11,33]
li.extend(["可乐",19])
print(li) #[11,11,33,"可乐",19]
li.extend("可乐")
print(li) #[11,11,33,'可','乐']
14、指定元素在列表中的索引:index(self,value,start=None,end=None),无指定范围左边优先,获取到的索引是第一个找到元素位置
li = [11,22,33,"name"]
v = li.index(33,1,3)
print(v) #2
15、在列表中指定索引位置插入元素:insert(self,value,p_object)
li = [11,22,33,"name"]
li.insert(1,19)
print(li) #li = [11,19,22,33,"name"]
16、删除元素
#删除某个值并获取删除值,不加参数默认删除最后一个:pop(self)索引
lis = [11,22,33,"name",11]
v = lis.pop(1)
print(li) #[11,33,"name"]
print(v) #22
#删除列表中指定值,左边优先:remove(self)值
li.remove(11)
print(li) #[22,33,"name",11]
17、将当前列表进行反转:reverse(self)
li = [11,22,33,"name"]
li.reverse()
print(li) #["name",33,22,11]
18、对列表元素进行排序:sort(self,key=None,reverse=False)
#从小到大
li = [11,44,22,33]
li.sort()
print(li) #[11,22,33,44]
#从大到小
li.sort(severse=True)
print(li) #[44,33,22,11]
四、元组tuple:元素不可被修改,不能被增加或者删除,并且是有序的,一般在写元组的时候建议在最后面加入“,”为了与方法区分
tu = (11,19,“alex”,(“age”,22),[(“name”,14)],True,33)
1、通过索引获取元素
v = tu[1]
print(v) #19
2、切片
v1 = tu[1:3]
print(v1) #(19,"alex")
3、可被for循环,可迭代对象
for item in tu
print(item) #元组中各元素
4、字符串、列表、元组之间转换
1)字符串—>元组与字符串—>列表方法一样
2)列表—>元组,元组—>列表方法相同
v = list(tu)
print(v) #[11,19,"alex",("age",22),[("name",14)],True,33]
5、元组内元素不可修改,但是元素中的元素可以修改(一级元素可以修改)
tu[4][1] = 123
print(tu) #[11,19,"alex",("age",123),[("name",14)],True,33]
6、类中的方法:count(self,value)获取指定元素在元组中出现的次数
index(self,value,start=None,stop= None)
与列表中的功能相同
五、字典:dict类,无序
info = {“k1”:“v1”,“k2”:“v2”}:“k1”:“v1”是一个元素,键值对;v1 是value可以是任意值;k1是key不能是列表、字典
info1 = {“k1”:11,“k2”:[22,33,{“k11”:“v11”,“k22”:(44,55)}],“k3”:(12,13,14)}
1、通过索引进行查找
v = info1["k2"][2]["k22"][0]
print(v) #44
2、字典支持del删除
del info1["k2"]
print(info1) # {"k1":11,"k3":(12,13,14)}
3、对字典进行for循环,默认输出key
1)获取key
for item in info1:
print(item) #k1
#k2
#k3
for item in info1.keys():
print(item) #与上一个结果相同
2)获取value
for item in info1.values():
print(item)
3)获取键值对
for k,v in info1.items:
print(k,v) #没对键值对
补:True 1 False 0 与key中的0、1重复只显示一个;在字典key中重复只显示任意一个
字典类中的基本方法
4、静态方法,根据序列创建字典,并指定统一的值value:formkeys(*args,kwargs)
v = dict.formkeys(["k1":123,"222"],192)
print(v) #{"k1":192,123:192,"222":192}
5、根据key获取值,key不存在时可以指定默认值(系统默认None):get(self,k,d=None)
dic = {"k1":"v1","k2":"v2",}
v= dic.get("k2")
print(v) #v2
6、删除元组中的值
1)指定某一个key删除并获取删除值:pop(self,k,d=None)
v = dic.pop("k1")
print(dic,v) #{"k2":"v2"} v1
v1 = dic.pop("kk1",90)
print(dic,v1) #{"k1":"v1","k2":"v2"}
2)随机删除:popitem(self)
k,v = dic.popitem()
print(dic,k,v) #{"k1":"v1"} k2 v2
7、设置值,若存在则获取当前值key对应的值;若不存在设置获取当前值key对应的值
v = dic.setdefault("k2","123")
print(dic,v) #{"k1":"v1","k2":"v2",} v2
v1 = dic.setdefault("kk1","123")
print(v1) #{"k1":"v1","k2":"v2",} "123"
8、更新元组元素
dic.updata("k1":"111","k3":123)
print(dic) #{"k1":"111","k2":"v2","k3":123}
dic.updata(k1=123,k2=456,k3=678) #系统内部自动转换为元组
print(dic) #{"k1":"123","k2":"456","k3":678}
六、布尔值
为False的:None、""、[]、()、{}、0