• 2019.1.11字典的相关内容(二)


     1 #fromkeys方法的总结:
     2 #fromkeys()函数用于创建一个新字典,以序列seq中元素做字典的键,
     3 #value为字典所有键对应的初始值。
     4 #fromkeys()方法语法:dict.fromkeys(seq[,value]),该方法返回列表。
     5 dict1={}
     6 adict=dict1.fromkeys((1,2,3),("one","two","three"))
     7 print(adict)
     8 
     9 adict[3]="我是来改变3的value值的"
    10 print(adict)
    11 #个人认识:在创建字典的过程中,只有两个元素,一个键,【一个值】。
    12 
    13 #访问字典的方法:
    14 #keys():返回一个由字典所有所有键构成的列表
    15 #value():返回字典所有值组成的一个列表
    16 #items():返回一个由元组构成的列表,每个元组包含一对键-值
    17 
    18 dict1=dict1.fromkeys(range(3),"我爱你中国")
    19 for eachkey in dict1.keys():
    20     print(eachkey, end=" ")
    21 print("
    ","="*79)
    22 for eachvalue in dict1.values():
    23     print(eachvalue, end=" ")
    24 print("
    ","="*79)
    25 for eachitem in dict1.items():
    26     print(eachitem, end=" ")
    27 print("
    ","="*79)
    28 
    29 #get(key,[,returnvalue]):返回key的值,若无key而指定了returnvalue,则返回
    30 #returnvalue值,若无此值则返回None
    31 
    32 b=dict1.get(4,"温馨提示:木有这个键")
    33 print(b)
    34 
    35 #一个键是否在字典中??
    36 #成员操作符(in 和 not in)
    37 #清空一个字典clear()方法,dict1={}
    38 
    39 a= 4 in dict1
    40 print(a) #返回值为false 说明不在字典中,返回true说明在字典中。
    41 
    42 dict1.clear()#clear  是清空内存
    43 print(dict1)
    44 
    45 dict1={"姓名": "bcyczhhb"}
    46 
    47 a=dict1
    48 b=a
    49 a={}
    50 print("这是打印的a", a)
    51 print("这是打印的b", b)
    52 print("这是打印的dict1", dict1)
    53 dict1.clear()
    54 print("这是打印的b", b)
    55 #注:清空a,并不影响b,因为a b都是指向dict1
    56 
    57 #copy()方法:创建并返回字典的浅拷贝(新字典元素为原始字典的引用)
    58 #字典深拷贝方法为(若字典为i)w=i[:]这表示w字典为i字典的一个深拷贝
    59 a={1:"one",2:"two",3:"three"}
    60 b=a.copy()
    61 c=a
    62 c[4]="我是新来的"
    63 print(b)
    64 print(id(a),id(b),id(c))#这里的id应该是内存中的位置
    65 print(a,b,c)
    66 
    67 #pop()方法:删除指定键-值对,并作为两个元素的元组返回。
    68 #popitem()方法:删除任意键-值对,并作为两个元素的元组返回。如字典为空,则返回
    69 #KeyErro异常
    70 #setdefault(key[,dummvalue])方法:具有与get方法类似的行为。如key不在字典中,同时
    71 #指定了dummvalue,就将键(key)和指定的值(dummvalue)插入字典,如果没有指定dummvalue
    72 #则值为None 
    73 
    74 a.pop(2)#删除的是键,不是索引,括号内必须要有参数
    75 print(a)
    76 a.popitem()#删除任意一对键值
    77 print(a)
    78 a.setdefault("你好","我从没有来过")#设置字典内容,相当于追加内容
    79 print(a)
    80 inser={"你好吗":"我很想来"}#临时声明一个字典
    81 a.update(inser)#升级字典内容,相当于追加内容
    82 print(a)

    执行结果如下:

    {1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}
    {1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: '我是来改变3的value值的'}
    0 1 2
    ===============================================================================
    我爱你中国 我爱你中国 我爱你中国
    ===============================================================================
    (0, '我爱你中国') (1, '我爱你中国') (2, '我爱你中国')
    ===============================================================================
    温馨提示:木有这个键
    False
    {}
    这是打印的a {}
    这是打印的b {'姓名': 'bcyczhhb'}
    这是打印的dict1 {'姓名': 'bcyczhhb'}
    这是打印的b {}
    {1: 'one', 2: 'two', 3: 'three'}
    49544936 49590208 49544936
    {1: 'one', 2: 'two', 3: 'three', 4: '我是新来的'} {1: 'one', 2: 'two', 3: 'three'} {1: 'one', 2: 'two', 3: 'three', 4: '我是新来的'}
    {1: 'one', 3: 'three', 4: '我是新来的'}
    {1: 'one', 3: 'three'}
    {1: 'one', 3: 'three', '你好': '我从没有来过'}
    {1: 'one', 3: 'three', '你好': '我从没有来过', '你好吗': '我很想来'}

  • 相关阅读:
    java实现oracle数据库基本操作
    在Myeclipse中用Java语言操作mysql数据库
    Linux面试题
    Python fabric远程自动部署简介
    使用RobotFramework的DataBaseLibrary(Java实现)
    如何编写Robot Framework测试用例2(测试用例语法1)
    如何编写Robot Framework测试用例1(基本格式篇)
    使用远程接口库进一步扩展Robot Framework的测试能力
    TweenLite参数说明 中文翻译
    TweenFilterLite参数说明 中文翻译
  • 原文地址:https://www.cnblogs.com/bcyczhhb/p/10254508.html
Copyright © 2020-2023  润新知