python基本数据类型:元组与字典


########################################################
#字典的创建及其使用
#字典用{}表示
vocaloid_dictionary={#"""key:value"""每个键值对代表一个元素
    'miku':'01',
    'rin':'02',
    'ran':'03',
    'ruka':'04',
    'kaito_meiko':['05','06']
                        }
# print(vocaloid_dictionary)
# #字典是无序的:字典的value可以是任意类型。但字典的key不可以为元组,字典
# #字典是无序的,所以不可以通过下标索引,但可以通过key索引其对应的值,但不能切片
# print(vocaloid_dictionary['miku'])

# ###################字典虽然是无序的,但仍然可以进行成员运算,可以进行for循环,但不能使用while循环#############
# #在使用成员运算和for循环的时候,默认对key进行操作即默认为方法keys()
# print('miku' in vocaloid_dictionary)
# print('01' in vocaloid_dictionary)
# # True
# # False
# #如果想对value或者键值对进行成员运算和for循环,
# #可以使用方法values()和items()
# print('03' in vocaloid_dictionary.values())
# for member,num in vocaloid_dictionary.items():
#     print(member,num)
# # True
# # miku 01
# # rin 02
# # ran 03
# # ruka 04
# # kaito_meiko ['05', '06']
# #

# ###########################清空字典与浅拷贝clear()和copy()######################
# dic={'e':'d','w':'d','3':'f'}
# a=dic.copy()
# dic.clear()
# print(dic,'\n',a)
# # {}
# #  {'e': 'd', 'w': 'd', '3': 'f'}

# ##################方法fromkeys(),通过向fromkeys中传入两个参数############################,
# # 将第一个参数的每一个元素作为key,将第二个参数作为value赋值给所有key
# a={}
# a=a.fromkeys(['miku','rin','ran'],'vocaloid')
# print(a)
# # {'miku': 'vocaloid', 'rin': 'vocaloid', 'ran': 'vocaloid'}

# #########################除了可以通过索引取值外,我们还可以通过方法get()取值#########################
# #与索引不同的是,当我们索引的key不再字典中时,将会报错
# #而使用get方法时不会报错,我们还可以指定没有对应key是的返回值,默认为None
# num=vocaloid_dictionary.get('miku')
# num_error=vocaloid_dictionary.get('miko','39')
# print(num,num_error)

# ####################删除字典元素,再删除字典元素时,我们既可以使用del函数################
# #也可以使用内置方法pop和popitem()
# a={'miku':'1','rin':'2','ran':'3'}
# del a['miku']
# #del仅删除元素
# print(a)
# b=a.pop('rin')
# #删除元素同时获取删除key对应的value
# print(a,b)
# c=a.popitem()
# #删除元素同时获取其键值对,随机删除
# print(a,c)
#
# # {'rin': '2', 'ran': '3'}
# # {'ran': '3'} 2
# # {} ('ran', '3')
#
# #############################设置键值对与更新键值对,#############################
# #在创建好字典后,可以通过setdefault()方法想字典中设置新键值对,
# #如果setdefault()传入的key在元字典中已经存在,则获取源字典中的value
# #如果setdefault()传出的key不存在源字典,则将setdefault()中的键值对加入源字典中
# num=vocaloid_dictionary.setdefault('miku','001')
# print(num)
new_member=vocaloid_dictionary.setdefault('luotianyi','07')
# print(new_member)
#
# # 01
# # 07
#setdefault()是向元字典中添加新值,而update()则是更新源字典中的元素
#当update传入的键值对在源字典中存在时,跟新为传入值,没有则写入
print(vocaloid_dictionary)
vocaloid_dictionary.update({'luotianyi':'007'})
print(vocaloid_dictionary)
#update还支持赋值写法
a={}
a.update(miku='1',rin=2)
print(a)
# F:\Pycharm\Perject_file\basics_of_list_tump_dict\venv\Scripts\python.exe F:/Pycharm/Perject_file/basics_of_list_tump_dict/basics_of_dictionary.py
# {'miku': '01', 'rin': '02', 'ran': '03', 'ruka': '04', 'kaito_meiko': ['05', '06'], 'luotianyi': '07'}
# {'miku': '01', 'rin': '02', 'ran': '03', 'ruka': '04', 'kaito_meiko': ['05', '06'], 'luotianyi': '007'}
# {'miku': '1', 'rin': 2}

 

#################################################
#元组:元组基本与列表相同,但元祖不可更改,增加,删除。元组一旦赋值,
# 只能通过重新赋值改变元组内容
#元组以圆括号表示,可通过索引,切片的方式获取其中元素
#元组属于可迭代对象
vocaloid_tump=('miku','rin','ran','ruka',['kaito','meiko'])
# v=vocaloid_tump[0]
# vlove=vocaloid_tump[0:2]
# print(v,vlove)
# for v_name in vocaloid_tump:
#     print(v_name)

#元组不可修改,但仅限于一级元素
v_name=vocaloid_tump[4][0]='v_kaito'
print('v_name=',v_name)
#v_name= v_kaito


#元组基本方法count()和index()
#与列表基本相同,用于计数和查找

 

posted @ 2020-05-30 11:14  雑音未来  阅读(164)  评论(0编辑  收藏  举报