Python基础- dict和set

Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度

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

dictionary = {"name" :"Bob", "age" : 12, "city" :"Hangzhou"}
dictionary["city"]
"Hangzhou"

除了初始化时放入的值,还可以可放入

>>> dictionary = {"name" :"Bob", "age" : 12, "city" :"Hangzhou"}
>>> print dictionary
{‘city‘: ‘Hangzhou‘, ‘age‘: 12, ‘name‘: ‘Bob‘}
>>> dictionary["score"]= 90
>>> print dictionary
{‘city‘: ‘Hangzhou‘, ‘age‘: 12, ‘score‘: 90, ‘name‘: ‘Bob‘} 

由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉:

>>> dictionary["score"]= 100
>>> dictionary["age"]= 30
>>> print dictionary
{‘city‘: ‘Hangzhou‘, ‘age‘: 30, ‘score‘: 100, ‘name‘: ‘Bob‘}

如果在dict中key不存在,则就会报错

>>> dictionary["age"]
30
>>> dictionary["ages"]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: ‘ages‘

为了避免key不存在的错误,有两种方法判断可以避免出现错误,一是通过in判断key是否存在:

>>> "age" in dictionary
True
>>> "ages" in dictionary
False

二是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:

>>> dictionary.get("age")       #get()方法得到key是age的value
30
>>> dictionary.get("ages","ages not exist")  #key不存在,返回自己制定的值
‘ages not exist‘
>>> dictionary.get("ages")       #key不存在,返回None
>>>

在set中重复的元素会被自动过滤掉

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

通过add(key)和remove(key)可以向set中添加的删除元素

>>> s.add("Test")
>>> s
set([1, 2, 3, 4, 5, ‘Test‘])
>>> s.remove(4)
>>> s
set([1, 2, 3, 5, ‘Test‘])
时间: 2024-10-06 15:07:08

Python基础- dict和set的相关文章

python基础dict,集合,文件

字典是一种key:value的数据类型dict1{ 'stud1':'孙礼昭', 'stud2':'slz', 'stud3':'sunlizhao',}dict是无序的,key是唯一的  天生去重增加: dict1['stud4'] = '苍井空'修改: dict1['stud4'] = '武藤兰'删除: 指定key删除 dict1.pop('stud3'); del dict1['stud2'] 随机删除: dict1.popitem()查找: 标准用法: stud1 in dict1 通过

Python基础之字典dict(薄弱环节重点回顾,记不住打死自己)

字典是我Python基础里面学的最薄弱的环节,重新回顾,务必深入骨髓. Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,字典是另 一种可变容器模型,且可存储任意类型对象.具有极快的查找速度. 字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字.字符串.元组.布尔值也可以,这种结构类型也称之为映射.字典类型是Python中唯一內建的映射类型. 重点就是字典的键必须是可以被哈希的,什么叫可以被哈希我说不上来,简单的说就是不可变对象. a=

python基础III(dict、set、函数)

什么是dict 我们已经知道,list 和 tuple 可以用来表示顺序集合,例如,班里同学的名字: ['Adam', 'Lisa', 'Bart'] 或者考试的成绩列表: [95, 85, 59] 但是,要根据名字找到对应的成绩,用两个 list 表示就不方便. 如果把名字和分数关联起来,组成类似的查找表: 'Adam' ==> 95 'Lisa' ==> 85 'Bart' ==> 59 给定一个名字,就可以直接查到分数. Python的 dict 就是专门干这件事的.用 dict 

15.python 字典dict - python基础入门

前面的课程讲解了字符串str/列表list/元组tuple,还有最后一种比较重要的数据类型也需要介绍介绍,那就是python字典,俗称:dict. python中的字典可与字符串/列表/元组不同,因为字典dict需要由两部分组成,分别是key和value,简称:键值对,下面具体讲解一下关于字典的特点: 1.由一个或者多个键值对构成,键值对的类型可以不相同也可以相同: 2.字典中的键值对需要写在{}中括号内部,键值对中的key和value用:隔开,键值对与键值对之间用逗号隔开: 3.字典是一个无序

Python基础教程(第九章 魔法方法、属性和迭代器)

本文内容全部出自<Python基础教程>第二版,在此分享自己的学习之路. ______欢迎转载:http://www.cnblogs.com/Marlowes/p/5437223.html______ Created on Marlowes 在Python中,有的名称会在前面和后面都加上两个下划线,这种写法很特别.前面几章中已经出现过一些这样的名称(如__future__),这种拼写表示名字有特殊含义,所以绝不要在自己的程序中使用这样的名字.在Python中,由这些名字组成的集合所包含的方法称

Python基础(二)

Python基础(二) Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典.set集合) for 循环 enumrate range和xrange 编码与进制转换 Python 运算符 1.算术运算: 2.比较运算: 3.赋值运算: 4.逻辑运算:  5.成员运算: 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483

Python之路【第二篇】:Python基础(一)

Python之路[第二篇]:Python基础(一) 入门知识拾遗 一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 1 2 3 if 1==1:     name = 'wupeiqi' print  name 下面的结论对吗? 外层变量,可以被内层变量使用 内层变量,无法被外层变量使用 二.三元运算 1 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为假:result = 值2 三.进制 二进制,01 八进

Python学习笔记(一)python基础与函数

1.python基础 1.1输入与输出 输出 用print加上字符串,就可以打印指定的文字或数字 >>> print 'hello, world' hello, world >>> print 300 300 >>> print 100+200 300 print语句也可以跟上多个字符串,用逗号","隔开,就可以连成一串输出: >>> print 'The quick brown fox', 'jumps over

python基础——sorted()函数

python基础——sorted()函数 排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来. Python内置的sorted()函数就可以对list进行排序: >>> sorted([36, 5, -12, 9, -21]) [-21, -12, 5, 9, 36] 此外,sorted()函数也是一个