Python 小栈_03:Python的列表、元祖和字典

今日学习:一、列表(有序的)1、索引、切片(切片后仍为列表)lis=[11,22,33,44,22,0]# v=lis[2]# print(v)# v=lis[0:2]# print(v)# 2、支持for循环,为可迭代对象# for item in lis:#     print(item)# 3、修改(索引和切片都可)、删除(用del)、增加列表# lis[0]=22# print(lis)# lis[0:2]=22,33# print(lis)# del lis[2]# print(lis)# del lis[0:-1]# 3、字符串转换成列表,可采用list,内部用的是for循环# print(lis)# text="alex"# print(list(text))# 4、列表转换成字符串,则有两种方式# (1)包含数字和字符串时,用for循环# for item in lis:#     print(item)# (2)若只有字符串,则可以用join# v="".join(lis)# print(v)# 5、列表的追加:三种# (1)append是把括号中的参数直接整个加到最后# lis.append("alec")# print(lis)# (2)extend中参数为可迭代对象,有list、str、tuple,然后把对象中的每个元素一一加进去# lis.extend((22,44,55))# print(lis)# (3)insert,采用在指定的索引位置加入特定的值。# lis.insert(2,88)# print(lis)# 6、列表的删除# (1)用del# (2)用pop,默认删除最后一个元素,可指定删除的索引位置# lis.pop(3)# print(lis)# (3)用remove,指定删除某个元素,从左开始找,且删完后不再找了# lis.remove(22)# print(lis)# (4)清空用clear# lis.clear()# print(lis)# 7、count的用法,计算元素在列表中出现的次数,得赋值v# v=lis.count(22)# print(v)# 8、copy的用法,浅拷贝# lis.copy()# print(lis)# 9、index即根据值获取当前的索引位置,若有多个相同的,则找到后就不再找了# v=lis.index(22)# print(v)# 10、把列表中的元素反转# lis.reverse()# print(lis)# 11、sort仅可用于列表中全是数字时的排列# (1)从小到大排序# lis.sort()# print(lis)# (2)从大到小排序# lis.sort(reverse=True)# print(lis)# 列表中重点为:append、extend、insert三个二、元祖(有序)tu=(11,22,33,44,22,"Alex",[33,{22.55},55],"edn")# 1、元祖中的一级元素不能被修改、增加和删除# 2、可以索引和切片(切片后仍为元祖)# print(tu[1])# print(tu[0:3])# 3、支持for循环,为可迭代对象# for item in tu:#     print(item)# 4、元祖中嵌套的其他数据类型,如列表的元素,即可增加、删除和修改# print(tu[5][2])# 5、list、tuple、str可以互相转化# print(list(tu))# 魔法;两个# (1)count计算元素在元祖中出现的次数,如果在元祖中出现嵌套的其他数据类型也还有该元素,则不计# v=tu.count(22)# print(v)# (2)index用来寻找元素在元祖中的索引位置,且找到后不再找了# v=tu.index(22)# print(v)# 元祖中最重要的一点是一级元素不能修改、删除和增加三、字典(无序)# 格式:info={"k1":‘v1‘,"k2":"v2"}info={"k1":1,"k2":"alex","True":"[11,445]",}# 1、字典中的value可以示任意的数,但key不能为列表和元祖,布尔值可以,只是在输入时会与0和1重复# 2、在for循环中,有四种情况:# for item in info:#     print(item)--》默认输出k值# for item in info.values():#     print(item)--》输出v值# for item in info.items():#     print(item)--》输出键能对,以元祖的方式# for k,v in info.items():#     print(k,v)--》依次循环输出k值和v值# 3、支持索引取值,但不能切片(因其是无序的)。支持del删除,只可以删除k值# print(info["k1"])# del info["k1"]# print(info)# 魔法# (1)fromkeys用于创建一个字典,根据前一个序列(序列可用大中小括号表示)创建字典中的k值,再赋予同等的v值,即第二位参数。# print(dict.fromkeys(["k5","k2","k3"],123))# (2)get用于根据k来取v值,若k不存在时,默认输None,或者有输入第二位参数时则输出它# v=info.get("k1111",123)# print(v)# (3)pop用来删除对应的k值,并获取v值。popitem用来删除键能对,默认删除最后一个,并取得其键能对# k,v=info.popitem()# print(k,v)# (4)setdefault是用来设置新的键能对,若k值存在则不设置,new输出对应的v值;若k值不存在,则设置新的键能对上去,new输出新的v值# new=info.setdefault("k1111","happy")# print(info,new)# (5)update用来更新,若k值已存在,则覆盖原来的v值;若不存在,则生成新的键能对,注意书写# n=info.update(k1="happy",k5="123")# print(info)# g=info.update(**{‘k1‘:‘happy‘,"k5":"123"})# print(info)# 字典中重点为keys、values、items、get和updatePS: 列表、元祖和字符串都可以做in操作,字典也可以,默认为k值# 列表、元祖、字典和字符串都为可迭代对象,可for循环# print("k1" in info.values())四、布尔值(两个)True:1Flase:0为假的情况有:None、“”、0、()、{}、[]、-0其余都为真ps:enumerate函数语法:enumerate(sequence, [start=0])
  • sequence -- 一个序列、迭代器或其他支持迭代对象。
  • start -- 下标起始位置。
用法:一般用于for循环(同时列出内容和索引)
seq = [‘one‘, ‘two‘, ‘three‘]
for i,num in enumetare(seq):
    print(i,num)
以上。
 
 

相关推荐