# #元组:
# lis=list("asdfgh")
# tu=tuple(lis) #:元组,就是个只读列表,大部分操作方法与列表一样,只是无法修改里面的内容
# print(tu)#('a', 's', 'd', 'f', 'g', 'h')
# for i,j in enumerate(lis,1): #enumerate 用于将列表(元组)里的各元素,对应生成一个带序号的元组,但是可以用两个变量去分别接收序号和值
# #第二个参数是设置序号开始的数字
# print(i,j,end=" ") #1 a 2 s 3 d 4 f 5 g 6 h
# for x in enumerate(lis, 1): # enumerate 用于将列表(元组)里的各元素,对应生成一个带序号的元组,但是可以用两个变量去分别接收序号和值
# print(x,end="") #(1, 'a')(2, 's')(3, 'd')(4, 'f')(5, 'g')(6, 'h')
#字典
dic={}
dic1={}
# dict 的键只能是可哈希类型-不可变类型:整型,字符串,元组\不可变类型有:列表,字典
# dict 是无序的,若要取值,格式为:dict(key)=value
# 操作:
# 增:
# 1、dic[key]=value 若key已存在,则修改对应的value值
# 2、dic.setdefault(key,value),去字典中找key,若有,不做任何操作,若无则添加,且有返回值
#当key 存在时,返回已存的value
#当key不存在时,返回新的value 例:
ret=dic.setdefault('x',123)#此时字典为空,增加了一个key 为x,value为123的值
ret1=dic.setdefault('x',456)#此时字典已有keyx,则不做任何操作,所以输出结果还是为 123
print(ret,ret1) #123 123
# 查
dic.keys() #返回一个存有所有key 的 dict_keys 的类型,若要取key,用list(dic.keys())转一下即可
dic.values()#返回一个存有所有value 的 dict_values 的类型,若要取value,用list(dic.values())转一下即可
dic.items() #返回一个存有所有键值对 的 dict_items 的类型,若要取键值对 ,用list(dic.items())转一下即可
#改
dic["x"]=999 #直接赋新值
dic.update(dic1) #将dic1中的值更新到dic中,若dic中有dic1中的key,则更新为dic1的value
#删
del dic["x"] #删除键值对
del dic #将字典删除
dic.clear() #将字典清空
ret=dic.pop()#随机删除,有返回值为对应的vulue
ret=dic.popitem() #随机删除,有返回值为对应的vulue
#新建字典的方法汇总
dic={}#最常用方法
dic=dict(((key.value)))#关键字方法
dic=dict.fromkeys([1,2,3],value)#初始化字典方法,将列表中的值作为每个key,所有的值均为value.但是一旦改变其中一个key,会跟着一起全改
#排序
sorted(dic) #默认根据key来排序
sorted(dic.keys())#根据key来排序
sorted(dic.items())#忘了
sorted(dic.values())#根据value来排序
#遍历字典
for i in dic:#----key
print(i,dic(i)) #这种方法最好用,效率最高
for i,j in dic.items(): #key-value对
for i in dic.values():#value