Python基础学习简记--字典与集合(Day8)

Python基础学习简记–字典与集合(Day8)

1、字典

字典Dictionary是python中一个非常重要的数据类型,首先,字典是一个键值对形式的、映射型的数据类型,同时它是一种可变数据类型,字典通过键查找值,具有极快的查找速度。

  1. 字典定义
    字典的每个键值对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,如下:

    d = {key1 : value1, key2 : value2 }
    

    字典的键具有唯一性,而且必须为不可变类型,所以可以用数字,字符串或元组充当,而用列表就不行。
    字典的值可以是任意数据类型。

  2. 创建字典的几个方式

    dict1 = {}
    dict2 = dict()
    dict3 = {"a""学习""b":"强国"}
    dict4 = dict(a=1,b=2,c=3)
    dict5 = dict([('苹果', 'apple'), ('梨','peach' ), ('香蕉', 'banana')])
    dict6 = dict((('苹果', 'apple'), ('梨','peach' ), ('香蕉', 'banana')))
    

    字典内部是无序的,对同一个key赋值,后面的值会把前面的值覆盖掉,每个key只能有一个value,但不同的key可以有相同的值。

  3. 访问
    字典的访问是通过调用key得到对应value,可以对字典中的键进行重新赋值,或在字典中添加新的键值对。当然也可以使用del语句删除特定的键值对。

    d = {'小明': 20, '小张': 22, '小李': 18}
    print(d['小明'])
    #20
    d['小张'] = 21
    print(d)
    #{'小明': 20, '小张': 21, '小李': 18}
    d['小刘'] = 24
    print(d)
    #{'小明': 20, '小张': 21, '小李': 18, '小刘': 24}
    
  4. 内置方法
    len(dict):计算字典元素个数,即键的总数。
    str(dict):输出字典,以可打印的字符串表示。
    type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。
    dict.clear():删除字典内所有元素
    dict.copy():返回一个字典的浅复制
    dict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
    dict.get(key, default=None):返回指定键的值,如果值不在字典中返回default值
    key in dict:如果键在字典dict里返回true,否则返回false
    dict.items():以列表返回可遍历的(键, 值) 元组数组
    dict.keys():返回一个迭代器,可以使用 list() 来转换为列表
    dict.setdefault(key, default=None):和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
    dict.update(dict2):把字典dict2的键/值对更新到dict里
    dict.values():返回一个迭代器,可以使用 list() 来转换为列表
    pop(key[,default]):删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
    popitem():随机返回并删除字典中的最后一对键和值。

2、集合

与dict类似,set也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

  1. 集合定义
    集合(set)是一个无序的不重复元素序列。

  2. 创建访问
    可以使用大括号 { } 或者 set() 函数创建集合。
    注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
    集合的无序性,使得我们无法通过索引来访问,但是可以使用for把集合中的数据依次读取出来,也可以判断一个元素是否在集合中。

    set1 = {value1,value2,...}
    set2 = set()
    set3 = {'n','c','e','p','u'}
    for s in set3:
    print(s)
    #p
    #c
    #u
    #n
    #e
    print('n' in set3)
    #True
    
  3. 内置方法
    s.add( x ) :将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。
    s.update( x ):添加元素,且参数可以是列表,元组,字典等,x 可以有多个,用逗号分开。
    s.remove( x ):将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
    s.discard( x ):移除集合中的元素,且如果元素不存在,不会发生错误。
    s.pop(): 随机删除集合中的一个元素。
    len(s):计算集合 s 元素个数。
    s.clear():清空集合 s。
    x in s:判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。

  4. 不可变集合
    frozenset([iterable]) 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。

    s = frozenset('ncepu')
    print(s)
    #frozenset({'n', 'u', 'e', 'p', 'c'})
    
3、参考文献

https://www.runoob.com/python3/python3-dictionary.html
https://mp.weixin.qq.com/s/FSmKS7IxJoUVis6qucB3BQ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python的turtle库是一个海龟绘图模块,它是Python自带的标准库,可以通过import语句导入并在Python中使用。海龟绘图源自20世纪60年代的logo语言,它模拟了一个真实的海龟在画布上游走的过程,通过控制海龟的移动和绘画来创建图形。turtle库提供了一些功能函数,包括移动和绘画等操作。你可以使用turtle.fd(d)向前移动一定的距离d,使用turtle.bk(d)向后移动一定的距离d,使用turtle.circle(半径, 弧度)以某个点为圆心绘制曲线等。此外,turtle库还提供了绝对坐标和海龟坐标两种角度坐标体系,你可以通过turtle.seth(angle)来改变海龟的游走方向,也可以通过turtle.left(angle)和turtle.right(angle)以海龟为参考系改变方向。下面是一个示例代码: import turtle turtle.left(45) turtle.fd(150) turtle.right(135) turtle.fd(300) turtle.left(135) turtle.fd(150) 这段代码可以让海龟按照一定的角度和距离绘制出一些图形。通过使用turtle库,你可以使用海龟绘图来进行一些简单的图形绘制和可视化操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python基础学习简记--海龟绘图(Day10)](https://blog.csdn.net/weixin_39344224/article/details/102807350)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python 学习笔记(三)---turtle库的使用(超详细)](https://blog.csdn.net/qq_40181592/article/details/86770960)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值