python 元祖 tuple 字典 dict

#tuple 元祖 元祖元素不可被修改,不能被增加或删除
#一般写元祖的时候,最后括号前加一个逗号,为了和函数做区分,最好加个逗号,识别元祖
tu = (111,"alex",(11,22),[(33,44)],True,55,66,33,44,)
#索引
print(tu[3])

#切片
print(tu[3:6])

#"".join()方法 可用于字符串元祖
tu1 = ("lsdjf","小李","小明",)
v = "_".join(tu1)
print(v)

#可以被for循环,可迭代对象
#元祖 可用extend()函数将元祖加在list的末尾
#元祖的一级元素不可修改
# extend() 函数用于在列表末尾一次性追加另一个序列中的多个值
li = [1,2,3,2,1]
li.extend(("woiejf","你好",))
print(li)

#元祖有序
#tu = (111,"alex",(11,22),[(33,44)],True,55,66,33,44,)
print(tu[3][0][1]) # 44

#count() 计数,元素出现的次数
print(tu.count(33))

#nidex() 最先出现的元素下标,从左到右
print(tu.index(33))

#dict字典 键值对
info = {"K1":"v1","k2":"v2"}

#列表和字典不能作为字典的keyvalue可以嵌套任何类型的数据类型
#字典是无序的

info = {
'k1':18,
'k2':[11,22,33,{'kk4':23,'kk5':9,'kk6':(32,34,21,)}],
'k3':('lsjdfl','小明','小李',),
'k4':'ninhao',
'k5':18,
'k6':{
'kk1':"ksjdfkds",
'kk2':"llslslsl",
'kk3':(11,22,33,)
}
}
#通过索引找到元素
print(info['k6']['kk3'][2])

#字典支持del删除
del info['k2'][3]['kk6']
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
print(info)

#索引的for循环,默认for循环时只有key
for item in info:
print(item)
print("----------------------------")
for k,v in info.items():
print(k,v)

#clear()
#copy()
#fromkeys() 根据序列,创建自己单,并指定统一的值
x = dict.fromkeys(['k1',123,4,'k2'])
print(x) #{'k1': None, 123: None, 4: None, 'k2': None}

#get() 获取字典key对应的value,若无该key则显示后面的默认值111
print(info.get('k3',111))

#pop()删除指定键值对
print(info.pop('k6'))
print(info)

#popitem()删除任意键值对
print(info.popitem())
print(info)

print(x.items())
print(x.keys())

#setdefault() 设置值,已存在则不进行设置,获取当前值
dic = {'k1':1,'k2':2}
v = dic.setdefault('k3',123)
print(dic)
print(v)

#update() 若有该键值对则更新value值,若无该键值对则新增该键值对
dic.update({'k1':666,'k4':'lsd'})
print(dic)

#update 第二种写法
dic.update(k1='woei',k5=999)
print(dic)
posted @ 2020-03-18 10:02  琳淼  阅读(265)  评论(0编辑  收藏  举报