zoukankan      html  css  js  c++  java
  • Python基础六:字典和集合

    Python基础六:字典和集合

    Python基础系列内容为学习廖雪峰老师Python3教程的记录,廖雪峰老师官网地址:廖雪峰Python3教程


    Author:yooongchun

    Email:yooongchun@foxmail.com


    • dict :Python内置一种字典(dictionary),在其他语言中也成为map, 其通过键值对(key-value) 来存储内容,加快查询速度

      示例:现在我们需要来存储三名学生的姓名和成绩,使用list 可表示为:

      names=['Michael','Tom','Tiny']
      scores=[99,98,97]

      可以看出如果需要同时获得一个同学的姓名和成绩的话就需要查询两个list ,且其还没有强对应关系,把上述内容改为dict 表示为:

      stu={'Michael':99,'Tom':98,'Tiny':97}

      访问可直接通过键值访问:

      >>>stu['Michael']
      99

      可以通过pop 方法删除内容:

      stu.pop('Michael')

      dict 不同于list 的地方在于其存储元素是建立索引的,所以查找速度不会因为本身内容的增加而减慢,但是list 就会,这也导致dict会占用更多的内存空间。

      dict 内部通过哈希算法来计算存储位置,因而dict键值不能改变!

    • set :类似dict,但是至存储键不储存值,且set 内部键值不可重复,重复元素会被自动剔除

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

      结果为:

      {1,2,3,4,5}

      可以使用add方法添加元素:

      s.add(6)

      可以通过 remove 方法删除元素

      s.remove(4)

      set可执行数学意义上的集合运算:如

      求交集

      s1&s2

      求并集:

      s1|s2
  • 相关阅读:
    HDU 5313 bitset优化背包
    bzoj 2595 斯坦纳树
    COJ 1287 求匹配串在模式串中出现的次数
    HDU 5381 The sum of gcd
    POJ 1739
    HDU 3377 插头dp
    HDU 1693 二进制表示的简单插头dp
    HDU 5353
    URAL 1519 基础插头DP
    UVA 10294 等价类计数
  • 原文地址:https://www.cnblogs.com/yczha/p/13160237.html
Copyright © 2011-2022 走看看