美文网首页
pytho字典集合

pytho字典集合

作者: 知识学者 | 来源:发表于2018-04-26 11:32 被阅读55次

字典是在大括号里放置逗号分隔的 关键字:值对 ,{key ,value},是无序的,关键字相当于一个内存地址。dictionary是python唯一的映射关系, 关键字必须是可以hash的,可以哈希表示key必须是不可变的类型,如数字,string,tuple等,否则会出现typeerror,可以hash函数,判断一个对象是否可以映射。

>>> hash(123)
123
>>> hash('str')
-311850177
>>> hash([1,2])
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    hash([1,2])
TypeError: unhashable type: 'list'
>>> {6,'six'}
{'six', 6}
>>> {[1,2],2}
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    {[1,2],2}
TypeError: unhashable type: 'list'

dictionary的index
序列是以连续的整数作为index,而dictionary以key为索引,key可以是任意不可变的类型。

字典的创建:{key:value[,关键字:值n]}
dict()函数创建字典,list和tuple作为参数

>>> d1=dict(([1,'a'],[2,'b']))
>>> print(d1)
{1: 'a', 2: 'b'}
>>> d2=dict([[1,'a'],[2,'b']])
>>> d2

dictionary基本操作

>>> dt1={'name':{'first':'tom','second':'jack'}}
>>> dt1['name']['second']
'jack'
>>> dt2={'sore':[66,77,88]}
>>> dt2['sore'][0]
66

更新dictionary
如果key已经存在,则修改对应的值。如果不存在,则增加一个元素。

>>> dt1={'n1':66,'n2':68}
>>> dt1['n1']=22
>>> dt1['n3']=99
>>> dt1
{'n1': 22, 'n3': 99, 'n2': 68}

del dictionary_name[key] 删除关键字对应的元素
del dictionary_name 删除字典

>>> del dt1['n1']
>>> dt1
{'n3': 99, 'n2': 68}
>>> del dt1
>>> dt1
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    dt1
NameError: name 'dt1' is not defined

字典长度获取 len(),也有max(),min(),sum()等。

>>> dt={1:'a1',2:'a2',3:'a3'}
>>> len(dt)
3
>>> max(dt)
3
>>> sum(dt)
6

dictionary对象常用的方法。
d.keys() 换回包含字典所有key的list
d.values()返回字典所有值的list
d.items()返回一个包含所有 (key,value) tuple的列表。

>>> dt
{1: 'a1', 2: 'a2', 3: 'a3'}
>>> dt.keys()
dict_keys([1, 2, 3])
>>> print(dt.values())
dict_values(['a1', 'a2', 'a3'])
>>> print(dt.items())
dict_items([(1, 'a1'), (2, 'a2'), (3, 'a3')])

d.copy() 返回字典d的副本
d.clear() 删除字典d的全部元素,字典d变成空字典
d.pop(key) 从字典d删除关键字key并返回删除的值。

>>> d=dt.copy()
>>> d
{1: 'a1', 2: 'a2', 3: 'a3'}
>>> d.pop(1)
'a1'
>>> d
{2: 'a2', 3: 'a3'}
>>> d.clear()
>>> d
{}

get()方法和pop()方法
d.get(key[,value]),如果字典关键字是key,则返回key对应的值,如果key不存在,则返回None。pop()的方法和get方法相似。

>>> dt={'z':11,22:'bb','ee':68}
>>> dt.get(22)
'bb'
>>> dt.pop('z')
11
>>> dt
{'ee': 68, 22: 'bb'}

d1.update(d2)方法,把d2的字典元素添加到d1中。has_key()方法,如果key在字典则返回true,否则返回false。

>>> dt0={'11':11,'22':33}
>>> dt.update(dt0)
>>> dt
{'11': 11, 'ee': 68, 22: 'bb', '22': 33}

dictionary的遍历

def display_dict(dt):
    for key in dt.keys():
        print('key={0},value={1}'.format(key,dt[key]))

>>> dt={'11':11,'22':22,'33':33}
>>> display_dict(dt)
key=11,value=11
key=22,value=22
key=33,value=33
def display_dict(dt):
    for  item in dt.items():
        print(item)
>>> display_dict(dt)
('33', 33)
('11', 11)
('22', 22)

集合的操作
在python中,集合是一堆无序排列,不重复的元素,类似数学的集合,可以去重,求交集,并集,补集等等。
用set()函数 或者{ }创建集合

>>> se={11,22,33}
>>> print(se)
{33, 11, 22}
>>> se2=set(44,55,66)
>>> se2
{66, 44, 55}
>>> c=se|se2
>>> c
{33, 66, 22, 55, 11, 44}
>>> c1=se&c
>>> c1
{33, 11, 22}
>>> c2=c^se
>>> c2
{66, 55, 44}

相关文章

  • pytho字典集合

    字典是在大括号里放置逗号分隔的 关键字:值对 ,{key ,value},是无序的,关键字相当于一个内存地址。di...

  • 【笔记】《Python语言以及应用》- 基础语法

    主要内容:Python基本元素:数字、字符串和变量Python容器:列表、元组、字典、集合程序结构 一、Pytho...

  • 2021-12-1 Python-8

    内建数据结构 Python 常用的数据结构主要有元组、列表、字典和集合。 元组 元组长度固定,是不可变 Pytho...

  • python 字典相关操作

    1. python 在列表、字典、集合中筛选数据 列表:filter函数、列表解析 字典:字典解析 集合:集合解析...

  • 6 字典和集合——《Swift3.0从入门到出家》原创连载

    6 字典和集合——《Swift3.0从入门到出家》 字典和集合 字典 字典是集合类型存放多个键值对,其中键是唯一的...

  • 2. 字典和集合

    字典和集合相比于列表和元组,字典和集合的性能更优:主要体现在查找、增加和删除操作; 1. 字典和集合基础 字典是一...

  • Python字典和集合

    字典和集合的定义 字典:字典是由一系列键(key)和值(value)配对组成的元素的集合集合:和字典基本相同,唯一...

  • Swift-day5---集合类型--数组,集合,字典

    Swift专栏---集合类型.数组,集合,字典!!!喜欢的小伙伴,可以关注我. * 数组 * 集合 * 字典 Sw...

  • NSDictionary字典的使用以及注意

    字典:NSDictionary字典就是关键字及其定义(描述)的集合。 Cocoa中的实现字典的集合NSDictio...

  • python字典简明教程

    字典简介 字典用于映射或关联要存储它们所需的键的东东。 Python中的字典就像现实世界中的字典一样。 Pytho...

网友评论

      本文标题:pytho字典集合

      本文链接:https://www.haomeiwen.com/subject/qxcslftx.html