字典:当索引不好用时2

字典:当索引不好用时2

字典事实上不是BIF而是工厂函数

常用的字典方法:

初始化一个字典:fromkeys

用法:

dict1.fromkeys((1,2,3),"wuyaling")

注意:这种用法只会提供一个返回值,仍旧需要赋值,正确操作应该是“dict1=…………”


访问字典:keys(),values(),items()

  • keys()获取键
  • values()获取值
  • items()同时获取键值信息并以元组的形式返回

注意:括号中不能带参数

用法:

dict1=dict1.fromkeys(range(2),"wuyaling")
for each in dict1.keys():
    print(each)
    

输出值为:

0

1

同理,将其中的keys换成其他方法:

  1. 换成values():返回值为"wuyaling"\n"wuyaling"\n"wuyaling"(此处用转义符代替换行了,实际上是每个键一行)
  2. 换成items():返回值为(0, 'wuyaling')\n(1, 'wuyaling')(同上)

  • 访问字典中某个项的方法:dictname[id]或者dictname.get(id)

区别:前者如果输入不存在的键,会报错,后者如果输入不存在的键,返回一个空值(即NoneType)

扩展:get方法其实有两个参数,如果使用例如dictname.get(id,string),那么在返回值为none的时候会自动显示第二个参数中的字符串

回顾:如果不会用get方法,代码还得写,那该怎么弄呢?这时候就要使用成员操作符了。
代码如下:

dict1=dict1.fromkeys(range(2),"wuyaling")
if 2 in dict1 = True:
    print("真")
else:
    print(“假")

彻底删除一个字典:del

del dictname

清空一个字典:clear()

dictname.clear()

浅拷贝:copy()

注意:浅拷贝是在内存中开辟了新的内存空间之后进行复制,拷贝原字典的更改对于浅拷贝之后的字典无影响

弹出:pop(id)和popitem():

和列表中的pop()原理类似,弹出后删除原字典中的对应键值
区分:pop()只返回值不返回键,而popitem()同时返回键和值并以元组的形式打包(但是不能够选择pop哪个,只能pop字典中顺数最后一个,pop()则可以自由选择)

注意:字典中没有顺序概念

你可能感兴趣的:(字典:当索引不好用时2)