字典dict

字典dict

为什么需要字典类型?

>>> list1 = ["name", "age", "gender"]
>>> list2 = ["fentiao", 5, "male"]
>>> zip(list1, list2)       //通过zip内置函数将两个列表结合,help(zip)
[('name', 'fentiao'), ('age', 5), ('gender', 'male')]
>>> list2[0]                //在直接编程时,并不能理解第一个索引表示姓名
'fentiao'
>>> list2[name]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: list indices must be integers, not str
  • 故字典是python中唯一的映射类型,key-value(哈希表),字典对象是可变的,但key必须用不可变对象。

字典的定义:

  • 简单字典创建
>>> dic = {"name":"fentiao", "age":5, "gender":"male"}
>>> dic[0]                  //不能通过索引提取value值
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 0
>>> dic["name"]             //根据key找出value值
'fentiao'
  • 内建方法:fromkeys
>>> ddict = {}.fromkeys(('username','password'),'fentiao')
        //字典中的key有相同的value值,默认为None
>>> ddict
{'username': 'fentiao', 'password': 'fentiao'}
>>> ddict = {}.fromkeys(('username','password'),)
>>> ddict
{'username': None, 'password': None}

访问字典的值:

  • 直接通过key访问
  • 循环遍历
>>> dic
{'gender': 'male', 'age': 8, 'name': 'fentiao'}
>>> for k in dic:
...     print k
...
gender
age
name
>>> for k in dic:
...     print dic[k]
...
male
8
fentiao



# 字典的key-value值添加:
>>> dic["kind"] = "cat"
>>> dic
{'gender': 'male', 'age': 8, 'name': 'fentiao', 'kind': 'cat'}

字典的删除:

>>> dic
{'gender': 'male', 'age': 8, 'name': 'fentiao', 'kind': 'cat'}
>>> dic.pop("kind")         //弹出字典中key值为"kind"的元素并返回该key的元素
'cat'
>>> dic
{'gender': 'male', 'age': 8, 'name': 'fentiao'}



>>> dic.clear()             //删除字典的所有元素
>>> dic
{}



>>> del dic                 //删除整个字典
>>> dic
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'dic' is not defined

字典的常用方法:

  • dict.get():如果key存在于字典中,返回对应value值
>> dic
{'gender': 'male', 'age': 8, 'name': 'fentiao', 'kind': 'cat'}
>>> dic.get(3)
>>> dic.get("name")
'fentiao'
  • dic.keys()
>>> dic
{'gender': 'male', 'age': 8, 'name': 'fentiao', 'kind': 'cat'}
>>> dic.keys()
['gender', 'age', 'name', 'kind']

自己试试:

    len(), hash()
    dict.clear()
    dict.fromkeys(seq, value=None)
    dict.get()
    dict.has_keys(), in, not in
    dict.items()
    dict.keys()
    dict.pop()
    dict.setdefault()
    dict.update()
    dict.values()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值