zoukankan      html  css  js  c++  java
  • (python learn) 7 字典

    python中的字典是用来存储键值对的。也就是存储 key-value这种格式的数据。比如:

    1 >>> dic1={'name':'kramer','age':26,'gender':'male','tel':8888}
    2 >>>

    现在我们就创建了一个字典 dic1,我们可以通过下面的形式使用这个字典。

    1 >>> dic1['tel']
    2 8888

     与列表相比,字典的使用不会显得那么声色,如果是列表,我们只能通过索引来取值,但有可能我们不记得对应的索引可以取什么样的值,可是通过字典就可以跟更加直观。

    字典的对象和列表一样也是可以变的,但是字典的键必须是不可变的。

    举个例子:

     1 >>> dic1
     2 {'gender': 'male', 'age': 26, 'tel': 8888, 'name': 'kramer'}
     3 >>>
     4 >>> id(dic1)
     5 5260528
     6 >>> dic1['age']=28
     7 >>> id(dic1)
     8 5260528
     9 >>> dic1
    10 {'gender': 'male', 'age': 28, 'tel': 8888, 'name': 'kramer'}

    可以看到我们把字典的对象改变了,但是字典的地址没变。

    再看一个例子,说明字典的key不可以变。

    1 >>> c='A'
    2 >>>
    3 >>> dic1[c]='new'
    4 >>> dic1
    5 {'A': 'new', 'gender': 'male', 'age': 28, 'tel': 8888, 'name': 'kramer'}
    6 >>> c='B'
    7 >>> dic1
    8 {'A': 'new', 'gender': 'male', 'age': 28, 'tel': 8888, 'name': 'kramer'}

    首先我们为变量c赋值'

    然后以变量c作为key为字典对象dic1增加一个 key-value

    这时我们可以看到键由变量c变成了c代表的常量 'A'

    即使我们把变量c重新赋值成B,也无法改变dic1中键为'A'。

    字典中的数据更新可以用以下方法

    del 删除字典或者字典中的值

     1 >>> dic1
     2 {'A': 'new', 'gender': 'male', 'age': 28, 'tel': 8888, 'name': 'kramer'}
     3 >>> del(dic1['A'])
     4 >>> dic1
     5 {'gender': 'male', 'age': 28, 'tel': 8888, 'name': 'kramer'}
     6 >>>
     7 >>> del(dic1)
     8 >>> dic1
     9 Traceback (most recent call last):
    10   File "<stdin>", line 1, in ?
    11 NameError: name 'dic1' is not defined

    {}.pop() 删除并返回一个值

    1 >>> dic1
    2 {'A': 'new', 'gender': 'male', 'age': 28, 'tel': 8888, 'name': 'kramer'}
    3 >>> dic1.pop('A')
    4 'new'
    5 >>> dic1
    6 {'gender': 'male', 'age': 28, 'tel': 8888, 'name': 'kramer'}
    7 >>>
    8 >>> THE 'A':new IS DELTETED

    {}.clear()清空字典的值

    1 >>> dic1
    2 {'A': 'new', 'gender': 'male', 'age': 28, 'tel': 8888, 'name': 'kramer'}
    3 >>> dic1.clear()
    4 >>> dic1
    5 {}
  • 相关阅读:
    二:虚拟游戏摇杆
    一:AndEngine的小例子
    打造属于自己的安卓Metro界面
    linux设备驱动第四篇:驱动调试方法
    C# 二叉查找树实现
    初识 Angular 体会
    C# 霍夫曼二叉树压缩算法实现
    TypeScript笔记[5]泛型+Dictionary 转
    Axiom3D学习日记 5.Frame Listeners, and Input Handling
    Axiom3D学习日记 4.地形,天空,雾
  • 原文地址:https://www.cnblogs.com/kramer/p/2959035.html
Copyright © 2011-2022 走看看