一、列表
1、列表是有序的,列表的元素可以修改 # list 类 li=[1,22,'ss','zp',['qqqq',111,33,['eeeeeeeee'],'ddddd',True]] #通过list类创建的对象 #中括号括起来 # ,分割每个元素 #列表的元素可以是数字、字符串,列表,也可以是布尔值···· #集合,内部可以放任何东西 #通过索引取值 print(li[2]) #通过切片取值,取出的结果也是列表 print(li[0:4]) #for循环 for item in li: print(item) #while循环 #链表 #列表元素可以被修改 #索引修改 li[3]=120 print(li) #切片修改 li[1:3]=[20,'sb'] print(li) #列表可以删除 #索引删除 del li[3] #切片删除 del li[3:4] print(li)
#列表中的元素以逗号分割为整体 # in 操作 v=20 in li print(v)
# 将字符串转换为列表,内部使用for循环,数字不能转换 li='wwwwwwwssssss' v=list(li) print (v)
#将列表转换为字符串 # 1、自己写for循环一个一个处理;既有数字又有字符串 # 2、''.join(list) li1=['123','qqqq','wwwww'] s='' for i in li1: s=s+str(i) print (s) ss=''.join(li1) print (ss)
#list 类中提供的方法 #参数 li=['123','qqqq','wwwww'] #列表可以修改,append方法后不需要生成新的变量去接受,而是在原来的变量后面直接追加 v=li.append('i love you') print (v) print (li)
#清空 li=['123','qqqq','wwwww'] li.clear() print (li)
#拷贝(浅拷贝) li=['123','qqqq','wwwww'] a=li.copy() print (a)
#计算元素出现的次数 li=['123','qqqq','wwwww'] aa=li.count('123') print (aa)
#扩展原列表,参数是可迭代对象 li=['123','qqqq','wwwww'] li.extend(['肯定发',33333333,'dedee']) print (li)
#扩展原列表,参数是可迭代对象 li=['123','qqqq','wwwww'] print (li)
li.extend(['肯定发',33333333,'dedee'])
#根据值获取当前值的索引位置(左边位置优先) li=['123','qqqq','wwwww'] v=li.index('123') print (v)
#在指定索引位置插入元素 li=['123','qqqq','wwwww'] li.insert(2,888) print (li)
#删除某个值,并可以获取到删除的值,不指定,默认删除最后一个 li=['123','qqqq','wwwww'] v=li.pop(1) print (li) print (v)
#删除列表中指定值,左边优先 li=['123','qqqq','wwwww'] li.remove('123') print (li)
#del删除(索引、切片)
#将当前列表反转 li=['123','qqqq','wwwww'] li.reverse() print (li) ['wwwww', 'qqqq', '123']
#排序,默认是从小到大,当在sort(reverse=True)为从大到小 li=[88,1,0] li.sort(reverse=True) print (li)
二、元组
#l列表 list
li=[11,22,33,334]
#元组(tuple) 元素不可被修改,元组不可被修改、增加
tu=(11,22,33,['11','yy'],True,(),)
#一般在写元组时,最后加个‘逗号’
#元组不可被删除、修改、增加
#索引 vv=tu[4] print (vv) #切片 v=tu[0:3] print (v)
#可以被for循环,可迭代对象 for item in tu: print (item)
#字符串、列表、元组相互转化 s='dddddd' li=['33','rr'] tu=('ff','rr') s_tu=tuple(s) print (s_tu) li_tu=tuple(li) print (li_tu) tu_li=list(tu) print (tu_li)
v=''.join(tu) print (v)
('d', 'd', 'd', 'd', 'd', 'd')
('33', 'rr') ['ff', 'rr']ffrr
#元组是有序的 tu=('ff','rr',111,(22,'eee',33,),333) v=tu[3][2] print (v)
#元组的元素不可修改、删除、增加 tu=('ff','rr',111,[[[22],'eee'],99],[('dd',33)],22,'eee',33,333) tu[3][0][0]='' print (tu)
三、字典
#字典 dict info={ 'k1':'v1',#键值对 'k2': 'v2', 'k3':22, 'k4':True, 'K5':[33,55, {'kk1':22, 'kk2':(33,444,) } ], 'k6':('33','ddd'), } print (info)
#字典中的健:数字、元组、布尔值. 而列表、字典、不可以做字典中的 key
#字典是无序的 #key重复时,只显示一个
info={1:11, 2:'44', True:'info', # ['33']:'ee' (22):33, # {'k11':22}:22 } print (info)
#获取字典中的值 info={1:11, 2:'44', (22):33, 'kk2':(22,33) # {'k11':22}:22 } v=info['kk2'][0] print (v)
#删除字典中得值 info={1:11, 2:'44', (22):33, 'kk2':(22,33) # {'k11':22}:22 } print (info) v=info['kk2'][0] print (v) del info[1] print (info)
info={1:11, 2:'44', (22):33, 'kk2':{ 'kk3':22, 22:33 } # {'k11':22}:22 } print (info) # v=info['kk2'][22] # print (v) del info['kk2'][22] print (info) #for循环获取键、值 for item in info.keys(): print (item,info[item]) for item in info.values(): print (item) for k,v in info.items(): print (k,v)
dic={'11':33} # clear 清空 # copy 拷贝(浅拷贝) # fromkeys 根据序列,创建字典,并指定统一的值 v=dict.fromkeys([22,'ee'],44) print (v) # get v1=dic['ee'] #如果'ee'(key)不存在,会报错 vv=dic.get('ee') #如果'ee'(key)不存在,则会返回None,不会报错 print (vv)
#pop 删除,可以得到删除后的值 # v=dic.pop('发11',44) print (dic) # print (v) #pop 随机删除,可以得到删除后的值 vv=dic.popitem() print (vv)
#setdefault() 设置值,如果已经存在,则不设置,获取当前key对应的值,如果不存在,则设置默认值 dic={'11':33, 11:'v2', } v=dic.setdefault('e11',123) print (dic) print (v)
#update 更新,存在的覆盖原来的值,不存在的,重新添加进去 dic={'11':33, 11:'v2', } dic.update({'11':'222,','4444':'tttttt'}) dic.update(k1=123,k2='ee',k3='er') print (dic)
*** keys()、values()、items()、get、update
四、总结:
1、数字 int()
2、字符串
replace、find、join、strip、startwith、split、upper、lower、format
3、列表
append、extend、insert
索引、切片、循环
4、元组
索引、切片、循环
一级元素不能被修改、增加、删除
5、字典
get、keys、values、items、update
for循环,索引
6、布尔值
bool()转换
none、空字典、空列表、空元组、0==》false
对于python而言,一切事物都是对象,对象基于类创建,对象所具有的功能,都是从类里面找的。