python字典

举报
tea_year 发表于 2021/12/30 00:17:57 2021/12/30
【摘要】 #字典的特点,字典的键通常采用字符串,但也可以用数字、元祖等不可变的类型。#字典值可以是任意类型。#字典也可称为关联数组或散列表,它通过键映射到值。字典是无序的,它通过键来索引映射的值,而不是通过位置来索引。#字典属于可变映射,通过索引来修改键映射的值。#字典长度可变,可为字典添加“键:值“对。#字典可以任意嵌套,即键映射的值可以使用一...

  
  1. #字典的特点,字典的键通常采用字符串,但也可以用数字、元祖等不可变的类型。
  2. #字典值可以是任意类型。
  3. #字典也可称为关联数组或散列表,它通过键映射到值。字典是无序的,它通过键来索引映射的值,而不是通过位置来索引。
  4. #字典属于可变映射,通过索引来修改键映射的值。
  5. #字典长度可变,可为字典添加“键:值“对。
  6. #字典可以任意嵌套,即键映射的值可以使用一个字典。
  7. #字典存储的是对象的引用,而不是对象本身。
  8. #字典的基本操作,包括床架字典、求长度、关系判断和索引等。
  9. #1.创建字典,可用来多种方法来创建字典。例如:
  10. #字典的常用方法
  11. #1.clear()删除字典中的全部对象
  12. x=dict(name='john',age=25) #使用dict函数创建字典对象;
  13. print(x)
  14. x.clear()
  15. print(x)
  16. #2.copy()方法,复制字典对象。
  17. x={'name':'hobby','age':25}
  18. y=x
  19. print(y)
  20. print(x)
  21. y['name']='lili'
  22. print(x)#通过修改y,那么x也直接发生变化;
  23. #判断引用是否相同。
  24. d=y is x
  25. print(d)
  26. #使用copy赋值对象。
  27. x={'name':'john','age':25}
  28. y=x.copy() #引用的是复制的对象;
  29. print(x)
  30. print(y)
  31. print('修改前------')
  32. #通过y修改字典,x不发生任何变化;
  33. y['name']='sb'
  34. print(x)
  35. print(y)
  36. #判断引用是否相同;
  37. print(y is x)
  38. #get(key[,default])
  39. #返回键key映射的值,如果键key不存在,则返回空值。可以用default参数指定不存在的键的返回值。例如;
  40. x={'name':'hone','age':25}
  41. print(x.get('name')) #通过键得到值
  42. print(x.get('sex')) #如果该键不存在,则返回为空;
  43. print(x.get('sex','不知道')) #如果键不存在,则返回指定值“不知道”
  44. #pop(key[,default])
  45. #从字典中删除键,并返回映射值。若键不存在,则返回default;未指定default参数时会报错。
  46. x={'name':'jack','age':25}
  47. print(x.pop('name'))
  48. print(x)
  49. #如果删除的键不存在,则返回指定的默认值,没有默认值,则报错。
  50. print(x.pop('height','没有身高'))
  51. #如果删除的键不存在,则会报错。
  52. # print(x.pop('sex'))
  53. #popitem(),从字典删除并返回键值对元祖。空字典调用该方法,会产生keyerror错误。
  54. x={'name':'lily','age':25,'height':175}
  55. #随机删除一个键值对
  56. print(x.popitem())
  57. print(x)
  58. #再次随机删除一个键值对;
  59. print(x.popitem())
  60. print(x)
  61. print(x.popitem())
  62. print(x)
  63. # print(x.popitem())
  64. # print(x)
  65. #第三次删除完毕后,已经为空,则再次删除,将会报错。
  66. #setdefault(key[,default]),该方法用于返回映射值或者为字典添加键值对。指定键key在字典中存在时,返回映射值。若指定键
  67. #不存在,则添加“可以:default”键值对,省略default时,映射值默认为none。
  68. x={'name':'jack','age':25}
  69. #如果该键存在,返回指定键的映射值
  70. x.setdefault('name')
  71. #如果该键不存在,则为字典添加该键值对,该键值对对应的值为null。
  72. x.setdefault('sex')
  73. print(x)
  74. #update(other)
  75. #该方法用于为字典添加键值对。参数other可以是另外一个字典或用赋值格式表示的元祖。若字典已经存在同名的键。
  76. #则应设置被覆盖。
  77. x={'name':'john','age':25}
  78. #添加键值对,并覆盖同名键的映射
  79. x.update({'age':30,'sex':'male'})
  80. print(x)
  81. #修改映射值
  82. x.update(name='Mike')
  83. print(x)
  84. #添加键值对;
  85. x.update(code=110,address='network')
  86. print(x)

文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。

原文链接:aaaedu.blog.csdn.net/article/details/81705843

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。