zoukankan      html  css  js  c++  java
  • 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,'
    ',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:PycharmPerject_fileasics_of_list_tump_dictvenvScriptspython.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()
    #与列表基本相同,用于计数和查找
  • 相关阅读:
    Daily Scrum 11.19 部分测试报告
    Daily Scrum 11.16
    Daily Scrum 11.14
    Daily Scrum 11.13
    Daily Scrum 11.12
    Daily Scrum 11.11
    Daily Scrum 11.10
    M1事后分析汇报以及总结
    Alpha阶段个人贡献分及转会人员确定
    项目测试
  • 原文地址:https://www.cnblogs.com/zatusnemiku/p/12983827.html
Copyright © 2011-2022 走看看