python基础篇 第三节课
list 类 ,列表
li =[1,12,9,"age","alex"] 逗号分割每个元素 中括号括起来 列表中的元素可以是 数字,字符串,列表,布尔值......所有的都能放进去
“集合” 内部放置任何东西
索引取值
li = [1,12,9,"age","alex"] print(li[3]) #输出age
切片,切片的结果也是列表
li = [1,12,9,"age","alex",True] print(li[3:5]) #输出['age', 'alex']
for循环
li = [1,12,9,"age","alex",True] for item in li: print(item) #输出 1 12 9 age alex True
while循环
li = [1,12,9,"age","alex",True] n = 0 while n < len(li): v = li[n] print(v) n +=1 #输出 1 12 9 age alex True
列表元素,可以被修改
索引修改
li = [1,12,9,"age","alex",True] li[1] = 130 print(li) #输出[1, 130, 9, 'age', 'alex', True]
切片修改
li = [1,12,9,"age","alex",True] li[1:4] = [333,888] print(li) #输出[1, 333, 888, 'alex', True]
删除
li = [1,12,9,"age","alex",True] del li[1] print(li) #输出[1, 9, 'age', 'alex', True]
切片删除
li = [1,12,9,"age","alex",True] del li[1:4] print(li) #输出[1, 'alex', True]
in 操作
li = [1,12,9,"age","alex",True] v = True in li print(v) #输出True
列表里的内容
li = [1,12,9,"age",["李怕怕",["19",10],"KLY"],"alex",True] print(li[4][1][0][1]) #输出19
字符串转换列表,内部使用for循环
s = "asdsaffgfgfh" li = list(s) print(li) #输出['a', 's', 'd', 's', 'a', 'f', 'f', 'g', 'f', 'g', 'f', 'h']
列表转化成字符串(需要写for循环一个一个处理:既有数字又有字符串)
li = [11,22,33,44,"123","alex"] #既有字符串又有数字 s = "" for i in li: s = s + str(i) print(s) #输出11223344123alex
li = ["KLY","123","alex"] #全是字符串 v = "".join(li) print(v) #输出KLY123alex
.append() 原来值的最后追加
li = [11,22,33,44] li.append(55) print(li) #输出[11, 22, 33, 44, 55]
li = [11,22,33,22,44] li.append([9495,"哈哈"]) print(li) #输出[11, 22, 33, 22, 44, [9495, '哈哈']]
.clear() 清空
li = [11,22,33,44] li.clear() print(li) #输出[]
.copy() 拷贝 ,浅拷贝
li = [11,22,33,44] v = li.copy() print(v) #输出[11, 22, 33, 44]
.count() 计算元素出现的次数
li = [11,22,33,22,44] v = li.count(22) print(v) #输出 2
.extend() 往列表里添加 字符 列表
li = [11,22,33,22,44] li.extend([9495,"哈哈"]) print(li) #输出[11, 22, 33, 22, 44, 9495, '哈哈']
li = [11,22,33,22,44] li.extend("哈哈哈") print(li) #输出[11, 22, 33, 22, 44, '哈', '哈', '哈']
.index(要索引的内容,开始位置,结束位置) 根据获取当前索引位置(最左优先)
li = [11,22,33,22,44] v = li.index(22) print(v) #输出1
li = [11,22,33,22,44] v = li.index(22,2,4) print(v) #输出 3
.insert(位置,要插入的内容) 插入
li = [11,22,33,22,44] li.insert(0,55) print(li) #输出[55, 11, 22, 33, 22, 44]
.pop() 删除某个值 (默认是最后值),并获取删除的值
li = [11,22,33,22,44] v = li.pop() print(li,v) #输出[11, 22, 33, 22] 44
li = [11,22,33,22,44] v = li.pop(1) print(li,v) #输出[11, 33, 22, 44] 22
.remove() 删除列表中的指定值,左边优先
li = [11,22,33,22,44] li.remove(22) print(li) #输出[11, 33, 22, 44]
.reverse()将前列表进行反转
li = [11,22,33,22,44] li.reverse() print(li) #输出[44, 22, 33, 22, 11]
.sort()排序默认 从小到大
li = [11,22,33,22,44] li.sort() print(li) #输出[11, 22, 22, 33, 44]
li = [11,22,33,22,44] li.sort(reverse=True) print(li) #输出[44, 33, 22, 22, 11]
列表,有序,元素可以被修改
元组 tuple
元素不可被修改,不能被增加或删除,一般写元组的时候,推荐在最后加逗号
索引
tu = [11,"Alex",(33,44),[(22,44)],True,] v = tu[3] print(v) #输出[(22, 44)]
切片
tu = [11,"Alex",(33,44),[(22,44)],True,] v = tu[0:4] print(v) #输出[11, 'Alex', (33, 44), [(22, 44)]]
for循环,可迭代对象
tu = [11,"Alex",(33,44),[(22,44)],True,] for item in tu: print(item) #输出 11 Alex (33, 44) [(22, 44)] True
把字符串转变为元组
s = "abcdefg" v = tuple(s) print(v) #输出('a', 'b', 'c', 'd', 'e', 'f', 'g',)
把列表转变为元组
li = ["abcd",123] v = tuple(li) print(v) #输出('abcd', 123,)
把元组转变为列表
tu = (132,456,"dasd",) v = list(tu) print(v) #输出[132, 456, 'dasd']
把元组变为字符串
tu = ("hhhasda","dasd",) v = " ".join(tu) print(v) #输出hhhasda dasd
寻找元组里元素的位置
tu = ("hhhasda",132,[(11,22)],"dasd",) v = tu [2][0][1] print(v) #输出22
元组的一级元素不可修改
tu = ("hhhasda",132,[(11,22)],"dasd",) tu [2][0] = 438 print(tu) #输出('hhhasda', 132, [438], 'dasd',)
.count() 获取指定元素在元组中出现的次数
tu = ("hhhasda",132,[(11,22)],"dasd",132,) v = tu.count(132) print(v) #输出2
.index(要查找的内容,开始位置,结束位置) 获取指定元素在元组中的位置
tu = ("hhhasda",132,[(11,22)],"dasd",132,000,) v = tu.index(132,2,-1) print(v) #输出4
字典 dict
基本结构
info={“k1”:"v1","k2":"v2"}
value 可以是任何值
列表,字典不能作为字典的keys info = {1:“adsf”,“k1”:“sadsd”,True:4543}
字典是无序的,无法切片
索引方式找到指定元素
info = {"k1":18,"k2":True,"k3":[11,22,33,{"kk1":"vv1","kk2":"vv2","kk3":(11,22,),}],"k4":(11,22,33,44,)}
v = info["k1"]
print(v)
#输出 18
info = {"k1":18,"k2":True,"k3":[11,22,33,{"kk1":"vv1","kk2":"vv2","kk3":(11,22,),}],"k4":(11,22,33,44,)}
v = info["k1"]
print(v)
#输出11
删除元素
info = {"k1":18,"k2":True,"k3":[11,22,33,{"kk1":"vv1","kk2":"vv2","kk3":(11,22,),}],"k4":(11,22,33,44,)}
del info["k3"]
print(info)
#输出{'k2': True, 'k4': (11, 22, 33, 44), 'k1': 18}
info = {"k1":18,"k2":True,"k3":[11,22,33,{"kk1":"vv1","kk2":"vv2","kk3":(11,22,),}],"k4":(11,22,33,44,)}
del info["k3"][3]["kk1"]
print(info)
#输出{'k3': [11, 22, 33, {'kk2': 'vv2', 'kk3': (11, 22)}], 'k1': 18, 'k4': (11, 22, 33, 44), 'k2': True}
info = {"k1":1,"k2":2,"k3":3,"k4":4}
for item in info:
print(item)
#输出
k2
k3
k1
k4
info = {"k1":1,"k2":2,"k3":3,"k4":4}
for item in info.keys():
print(item)
#输出
k2
k1
k3
k4
info = {"k1":1,"k2":2,"k3":3,"k4":4}
for item in info.values():
print(item)
#输出
3
1
2
4
info = {"k1":1,"k2":2,"k3":3,"k4":4}
for k,v in info.items():
print(k,v)
#输出
k3 3
k2 2
k1 1
k4 4
根据序列,创建字典,并指定统一的值
v = dict.fromkeys(["k1",123,"999"],123) print(v) #输出{123: 123, 'k1': 123, '999': 123}
根据key获取值,key不存在时,指定默认值(none)
dic = {"k1":3}
v = dic.get("k1")
print(v)
#输出3
dic = {"k0":3}
v = dic.get("k1",1111)
print(v)
#输出1111
删除,指定key 删除并获取值
dic = {"k1":3,"k2":4}
v = dic.pop("k1")
print(dic,v)
#输出{'k2': 4} 3
dic = {"k1":3,"k2":4}
k,v= dic.popitem()
print(dic,k,v)
#输出{'k1': 3} k2 4
设置值,已存在,不设置,获取当前key对应的值
不存在,设置,获取当前key对应的值
dic = {"k1":3,"k2":4}
v = dic.setdefault("k111",41541)
print(dic,v)
#输出{'k1': 3, 'k2': 4, 'k111': 41541} 41541
更改values的内容
dic = {"k1":3,"k2":4}
dic.update({"k1":41541,"k3":4545})
print(dic)
#输出{'k2': 4, 'k1': 41541, 'k3': 4545}
dic = {"k1":3,"k2":4}
dic.update(k1 = 123,k3 = 4889,k5 = "dsad")
print(dic)
#输出{'k2': 4, 'k3': 4889, 'k1': 123, 'k5': 'dsad'}
(k1 = 123,k3 = "dds")**kwargs 转换成字典
布尔值
bool(...)
none "" () [] {} 0 ———— false

浙公网安备 33010602011771号