Python中字典的应用及相关操作!

小白如何成为python数据分析师

第9天---->字典(dict)

在这里插入图片描述

小学我们就学会了翻阅查询新华字典了,我们可以通过目录索引查询我们要找的字,便于理解学习这个字和字的含义。那么在编程语言中我们像字典的数据类型呢?还真有,也称为字典。就像《新华字典》中,每个字都有与它对应的解释一样,每个字和它的解释合在一起就是字典中的一个条目。在字典的字称为,字的解释称为键(key)值(value)组成的条目称为键值对字典={键:值, 键:值, 键:值, …}

当我们需要存储多个信息时,比如一个人的个人信息(姓名,年龄、性别、爱好、联系方法…),我们可以使用之前学过的列表、元组和集合,但是你会发现这些都不是最理想的选择。会有各自的问题。我们将一堆数据放进去,读取数据时,我们就会发现,这是个啥?因为没有声明,导致我们放进去的数据,读出来时,我们就不认识了。集合是最不合适的,因为集合有去重特性,如果一个人的年龄和体重相同,那么集合中就会少一项信息。查询时,我们得知道下标才好查找。不然就得一个一个的遍历查找,效率低下。这时就是字典拯救我们了。

我们可以通过很好的理解()数据含义,可以通过快速查询到

字典(dictionary)类型,这种数据类型最适合把相关联的信息组装到一起,并且可以帮助我们解决程序中为真实事物建模的问题

相信你已经对字典有了一定了解,下面我们就来更深入的学习字典吧!

创建和使用字典

1.字面量语法

在Python中创建字典可以使用{}字面量语法,跟列表、集合差不多。值得注意的是字典的{}中的元素是以键值对的形式存在的,每个元素由:分隔的两个值构成,:前面是键,:后面是值。

kuanglu = {
   
    '李淳罡': '天不生我李淳罡,剑道万古如长夜。',
    '萧炎': '三十年河东,三十年河西,莫欺少年穷!',
    '安澜': '仙之巅,傲世间,有我安澜便有天!',
    '王腾': '我儿王腾有大帝之姿!'

}
print(kuanglu['王腾'])

person = {
   
    'name': '王大锤',
    'age': 20,
    'weight': 60,
    'office': '科华北路62号',
    'home': '中同仁路8号',
    'tel': '13122334455',
    'contacts': {
   
        'qq': 123456,
        'tel': 12345678910,
        'a': 45,
        '9': 58
    }
}
print(person['name'])
print(person['contacts']['qq'])
print(person['contacts']['a'])
print(person['contacts']['9'])

用字典来保存一个人的信息远远优于使用列表或元组,因为我们可以用:前面的键来表示条目的含义,而:后面就是这个条目所对应的值。

2.构造式语法(使用内置函数dict创建字典

# dict函数(构造器)中的每一组参数就是字典中的一组键值对
person = dict(name='安澜', age=99999999, weight=9999999, home='帝城')
print(person)    # {name='安澜', age=99999999, weight=9999999, home='帝城'}

3.通过Python内置函数zip压缩两个序列并创建字典

a = 'ABCDE'
b = '12345'
items1 = dict(zip(a, b))
# items1 = dict(zip('ABCDE', '12345'))
print(items1)    # {'A': '1', 'B': '2', 'C': '3', 'D': '4', 'E': '5'}
items2 = dict(zip('ABCDE', range(1, 10)))
print(items2)    # {'A': 1, 'B': 2, 'C': 3, 'D': 4, 'E': 5}

4.生成式语法创建字典

# 列表的生成式语法
list1 = [i for i in range(1, 10)]
print(list1)  # [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 字典的的生成式语法
student2 = {
   i: i **
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值