为了账号安全,请及时绑定邮箱和手机立即绑定
  • 自定义函数需要使用def语句,依次写出函数名、括号()、括号中的参数和冒号:。 然后在缩进块中编写函数体,函数的返回值用return语句返回。

    一旦执行到return时,函数就执行完毕,并将结果返回。

    查看全部
    0 采集 收起 来源:Python定义函数

    2020-09-06

  • 求list的长度len()函数等等,都是Python内置的函数

    调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs(),它接收一个参数。abs接收一个参数,这个参数就是需要求绝对值的数,这个参数可以是整数,也可以是浮点数。传递一个字符串进去,将会引起错误。

    cmp()函数,可以比较两个数的大小。对于cmp(x, y),如果x < y 返回 -1,如果x == y 函数返回0,如果x > y函数返回1。

    int()函数可以将合法的其它类型数据转换为整数,str()函数可以将其它类型的数据转换为字符串。

    查看全部
    0 采集 收起 来源:什么是函数

    2020-09-06

  • 删除元素的方法:remove()方法和discard()方法

    discard()方法当元素不存在的时候,并不会引发错误。更安全高效。

    清除所有元素的方法:clear()方法。可以快速清除set中的所有元素。

    集合的子集和超集:set提供方法判断两个set之间的关系。如两个集合set,判断其中一个set是否为另外一个set的子集或超集。

    s1 = set([1, 2, 3, 4, 5])
    s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9])
    # 判断s1是否为s2的子集
    s1.issubset(s2) # ==> True
    # 判断s2是否为s1的超集
    s2.issuperset(s1) # ==> True

    判断集合是否重合:set提供isdisjoint()方法,可以快速判断两个集合是否有重合,如果有重合返回False,否则返回True。

    查看全部
  • set提供了remove()方法允许删除set中的元素。

    注意:如果remove的元素不在set里面的话,那么将会引发错误。需要提前判断要remove()的元素是否在set里面,确保存在后,再进行remove。

    查看全部
  • set提供了add()方法,用于向set中添加元素。

    对于set,如果添加一个已经存在的元素,不会报错,也不会改变什么。

    set提供了update()方法,可以一次性给set添加多个元素。

    查看全部
  • set中的元素没有顺序,因此不能像list那样通过索引访问。

    访问set中的某个元素实际上就是判断一个元素是否在set中。

    可以用in来判断某个元素是否在set中。

    注意:set元素是区分大小写的,必须大小写完全匹配,才能判断该元素在set里面。

    查看全部
  • dict的key是不重复的,当我们往dict里添加一个相同key的value时,新的value将会覆盖旧的value。

    有时候,我们只想要dict的key,而不关心key对应的value,目的就是保证这个集合的元素不会重复,这时,set就派上用场了。

    set和list类似,拥有一系列元素,但是set里面的元素是不允许重复的,而list里面可以包含相同的元素。并且set中的元素是没有顺序的。

    创建set的方式为使用set(),并传入一个list,list的元素会被转换成set的元素。

    s = set([1, 4, 3, 2, 5])
    print(s) # ==> set([1, 2, 3, 4, 5])

    需要注意的是,上述打印的形式类似 list, 但它不是 list,仔细看还可以发现,打印的顺序和原始 list 的顺序有可能是不同的,因为set内部存储的元素是无序的。

    当传入重复元素的时候,发现相同元素只保留了一个,重复的元素都被去掉了。

    查看全部
    1 采集 收起 来源:什么是set

    2020-09-06

  • dict还有很多的工具函数帮助便捷的使用dict。

    1. 获取dict的所有key:dict提供keys()函数,可以返回dict中所有的key。

    2. 获取dict的所有value:dict提供values()函数,可以返回dict中所有的value。

    3. 清除所有元素:dict提供clear()函数,可以直接清除dict中所有的元素。

    查看全部
  • dict的第一个特点:查找速度快。无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。但是查找速度快的代价是占用内存很大,还会浪费很多内容。list正好相反,占用内存小,但是查找速度很慢。

    在Python3.5之前,dict中的元素是无序的,也就是dict中元素的插入顺序和打印顺序未必一致。但是在Python3.6、Python3.7版本中,却得到了有序的结果。

    因为底层实现发生了改变。我们可以认为在Python3.6的版本以后,dict是有序的,但是一般而言,为了避免不必要的误解,一般在需要有序的dict时,我们会使用一种叫做Ordereddict的字典,来确保有序。


    对于基础数据类型,字符串、数字等,这些都是不可变的,可以作为dict的key。但是对于复杂类型数据,比如tuple是不可变的,list可变,因此tuple可以作为dict的key,但是list不可以作为dict的key,否则将会报错。

    由于dict是按 key 查找,所以,在一个dict中,key不能重复。

    有时候我们需要打印出dict中一定条件的元素。这种情况下需要便利dict(用for循环),通过条件判断打印满足条件的。

    遍历dict的两种方法:

    1. 遍历dict的所有key,并通过key获得对应的value。

    2. 通过dict提供的items方法,会返回dict中的所有的元素,每个元素包括key和value。

    查看全部
  • dict提供了便捷的pop()方法用于删除元素,pop()方法需要指定需要删除元素的key,并返回对应的value。

    注意:pop()方法的参数是dict中的key,当key不存在的时候,会引起错误。

    比如在上述操作中,已经把Alice的成绩删除了,假如再次pop('Alice'),将会引发错误。

    在dict中,使用keys()方法,可以返回dict的所有key。在删除某个元素的时候,可以通过这个方法先判断某个元素是否存在。

    查看全部
  • 通过赋值语句就可以把元素添加到dict中去,但是赋值的时候,我们并不确定key是否已经在dict里面了,如果dict里面已经有对应的key了,那将会发生什么呢?

    d = {
        'Alice': 45,
        'Bob': 60,
        'Candy': 75,
        'David': 86,
        'Ellena': 49
    }
    d['Bob'] = 75

    原来Bob的成绩是60,现在变成75了,因为d['Bob'] = 75的缘故。


    因此赋值语句实际上有两个功能:

    1. 当key不存在的时候,往dict中添加对应的key:value元素。

    2. 当key存在的时候,会更新dict,用新的value替换原来的value。

    因此,使用赋值语句向dict中添加元素的时候,为了避免不必要的覆盖问题,我们需要先判断key是否存在再做出更新。

    查看全部
  • 可以随时向dict中添加新的key-value。

    用赋值语句向其中添加元素。

    value事实上可以是任意类型的元素,可以是list、tuple等,可以用赋值语句向dict中添加list元素。

    还可以通过key把对应的value查询出来,然后往类型是list的value中继续添加元素。

    查看全部
  • dict提供了通过key查找对应value的功能。通过d[key]的形式,就可以得到对于的value。

    这和list通过下标找到对应位置的元素很类似。

    在dict中,与list相似的是,当对应的key不存在的时候,就会引发错误。

    因此当需要通过key找到value的时候,一定要先判断key是否存在,然后再用d[key]来获取对应的value。

    dict本身也提供了get方法,把key当作参数传给get方法就可以获取对应的value。当key不存在的时候也不会报错,而是返回None。

    因为通过get方法在代码实现上更加简单,且不会引起错误,因此更加推荐使用get方法来获取dict的元素。

    查看全部
  • list和tuple可以用来表示顺序集合。存储同学名字和考试信息时,如果同学名字的列表和同学成绩的列表是一一对应的,那么通过下标,我们也可以找到每个同学的成绩。

    事实上,可以得到这样的映射。

    'Alice' ==> 45
    'Bob' ==> 60
    'Candy' ==> 75
    'David' ==> 86
    'Ellena' ==> 49

    但是使用两个list很麻烦,尤其是需要变换一个列表的顺序后另一个列表也需要做同样的变换,否则就可能对应不上。

    python中dict就是专门保存这种映射的,使用dict可以方便的保存“名字”->“成绩”的映射。


    在dict中,每一项包含一个key和一个value。key和value是一一对应的。上述问题可以把名字作为key,成绩作为value。

    那么dict的定义如下:

    d = {
        'Alice': 45,
        'Bob': 60,
        'Candy': 75,
        'David': 86,
        'Ellena': 49
    }

    在定义中,使用花括号{}表示这是一个dict,然后key和value之间用冒号:分割。并且每一组key:value的最后以逗号,表示这一组的结束。

    也可以用以下的方式定义一个dict。

    d = dict()

    此时得到的是一个空dict,需要调用函数向其中添加数据。

    查看全部
    0 采集 收起 来源:什么是dict

    2020-09-06

  • tuple里面的元素,是不可替换的。但是这针对的是仅包含基础数据类型(数字类型、布尔类型、字符串类型)的数据。

    对于组合数据类型,不受这个约束。

    T = (1, 'CH', [3, 4])

    这里T有三个元素,第一个元素是数字类型,第二个元素是字符串类型,第三个元素是列表类型的,我们尝试修改第三个元素的数据。

    改变的理由是什么呢?

    是由于tuple中的list元素改变了,但是tuple本身指向的list仍然是同一个list,list本身并没有改变。改变的只是list里面的一个元素,这是tuple约束不到的范围。

    但是如果像这样直接替换list也是不可以的。

    T = (1, 'CH', [3, 4])
    L2 = [3, 40]
    # 尝试替换tuple中的list
    T[2] = L2
    # 报错
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'tuple' object does not support item assignment


    查看全部

举报

0/150
提交
取消
课程须知
如果您了解程序设计的基本概念,会简单使用命令行,了解中学数学函数的概念,那么对课程学习会有很大的帮助,让您学起来得心应手,快速进入Python世界。
老师告诉你能学到什么?
通过本课程的学习,您将学会搭建基本的Python开发环境,以函数为基础编写完整的Python代码,熟练掌握Python的基本数据类型以及list和dict的操作,灵活使用流程控制语句。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!