专栏首页Python小二Python 基础(七):字典与集合

Python 基础(七):字典与集合

1 字典

1.1 简介

当看到字典这个词时,有些人包括我自己在内,首先映入眼帘的便是新华字典

我清楚的记得,刚上小学时老师就让每一个学生准备一本新华字典,它的使用大家也应该都清楚,通过拼音、偏旁部首等进行查询;今天我们说的字典(dict)是 Python 的数据结构,因为都叫字典,我们不用想也知道它们是十分相似的,它们的内容都是以键-值(key-value)的方式存在的。

dict 拥有良好的查询速度,dict 中的值可以是任意 Python 对象,多次对一个 key 赋 value,后面的 value 会把前面的 value 覆盖。

1.2 使用

字典的内容在花括号 {} 内,键-值(key-value)之间用冒号 : 分隔,键值对之间用逗号 , 分隔,比如创建字典 d,如下所示:

d = {'name':'小明', 'age':'18'}

# 使用 dict 函数
# 方式一
l = [('name', '小明'), ('age', 18)]
d = dict(l)
# 方式二
d = dict(name='小明', age='18')

# 空字典
d = dict()
d = {}

字典中的值通过 key 进行访问,如下所示:

>>> d = dict(name='小明', age='18')
>>> d['name']
'小明'

# 使用 get 方法
>>> d.get('name')
'小明'

修改操作,以修改 age 为例,如下所示:

>>> d = dict(name='小明', age='18')
>>> d['age'] = '20'
>>> d['age']
'20'

清空集合,如下所示:

>>> d = dict(name='小明', age='18')
>>> d.clear()
>>> d
{}

获取字典的长度,如下所示:

>>> d = dict(name='小明', age='18')
>>> len(d)
2

2 集合

2.1 简介

集合(set)与字典相同均存储 key,但也只存储 key,因 key 不可重复,所以 set 的中的值不可重复,也是无序的。

2.2 使用

集合使用花括号 {} 或者 set() 函数创建,如果创建空集合只能使用 set() 函数,以创建集合 s 为例,如下所示:

s = {'a', 'b', 'c'}

# 使用 set 函数
s = set(['a', 'b', 'c'])

# 空集合
s = set()

集合中重复的元素会被自动过滤掉,如下所示:

>>> s = {'a', 'a', 'b', 'c', 'c'}
>>> s
{'a', 'c', 'b'}

添加元素可以使用 addupdate 方法,如果元素已经存在,则不进行操作,如下所示:

>>> s = {'a', 'b', 'c'}
>>> s.add('d')
>>> s
{'a', 'd', 'c', 'b'}
>>> s.update('e')
>>> s
{'a', 'b', 'e', 'd', 'c'}
# 添加已经存在的元素 a
>>> s.add('a')
>>> s
{'a', 'b', 'e', 'd', 'c'}

删除元素使用 remove 方法,如下所示:

>>> s = {'a', 'b', 'c'}
>>> s.remove('c')
>>> s
{'a', 'b'}

清空集合使用 clear 方法,如下所示:

>>> s = {'a', 'b', 'c'}
>>> s.clear()
>>> s
set()

获取集合的长度,同样使用 len 方法,如下所示:

>>> s = {'a', 'b', 'c'}
>>> len(s)
3

本文分享自微信公众号 - Python小二(chengxuzhijian),作者:程序员野客

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python 基础(十一):面向对象

    面向对象(OOP)是一种对现实世界理解和抽象的方法,对象的含义是指在现实生活中能够看得见摸得着的具体事物,一句比较经典的描述是一切皆对象,Python 是一门面...

    Python小二
  • Python 基础(三):我是一个数字

    Hello,我是 Python 数据类型数字,大家之前对我可能已经有所耳闻,俗话说闻名不如见面,见面要先自我介绍,为了让大家对我有一个清晰的了解,下面我要向大家...

    Python小二
  • 用 Python 写一个经典飞机大战

    Python小二
  • 从零开始学 Web 之 JavaScript(五)面向对象

    (创建对象的最简单方式就是创建一个 Object 的实例,然后再为它添加属性和方法。)

    Daotin
  • Python的循环 博客分类: Python PythonCC++C#

    b里面,x是从a中迭代出来的每一个元素,然后x.get('name')对这个元素进行操作,得到的结果放到list里面,最后循环结束,生成一个列表,则得到的b为...

    chroya
  • 拥抱AI大趋势,ARM发布两款AI芯片架构

    今天,ARM发布了两款针对移动终端的AI芯片架构,物体检测(Object Detection,简称OD)处理器和机器学习(Machine Learning,简称...

    量子位
  • JS-点和中括号

    xing.org1^
  • 数据结构 | 每日一练(62)

    ——老子

    C语言入门到精通
  • 我的python学习--第三天

        2、后面跟上for循环,可以有多个for循环,也可以在for循环后面再加个if条件

    py3study
  • 更新表里的数据

    数据没变,提交更新,返回false; 数据变,提交更新,返回true; 返回的不是false 而是0 你要用恒等判断 是否提交失败

    公众号php_pachong

扫码关注云+社区

领取腾讯云代金券