博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 数据类型_字典和集合
阅读量:5167 次
发布时间:2019-06-13

本文共 1494 字,大约阅读时间需要 4 分钟。

字典     一个key值 对应一个value值

定义

mydict1 = {'name':'a','age':21}

mydict2 = dict()

 

取值

>>> mydict1["name"]

'a'

 

>>> {"name":{"1":"aa","2":'bb'}}["name"]["1"]

'aa'

 

.get(key, 0)     取值

>>> mydict1.get("name")

'a'

 

赋值

>>> mydict2["ee"] = "aaa"

 

in 是否在里面

>>> "name" in mydict1

True

>>> "fname" in mydict1

False

 

.keys()            #返回字典键的列表

>>> mydict1.keys()

dict_keys(['name', 'age'])

 

.values()            #返回字典值的列表

>>> mydict1.values()
dict_values(['a', 21])

 

.items() 

>>> mydict1.items()

dict_items([('name', 'a'), ('age', 21)])

 

.update(dict2)     #增加合并字典

 

>>> mydict1.update({"sex":"nan"})

>>> mydict1
{'name': 'a', 'age': 21, 'sex': 'nan'}

 

 

.clear()           #清空字典,同del(dict)

 

.copy()            #拷贝字典

 

.cmp(dict1,dict2)  #比较字典,(优先级为元素个数、键大小、键值大小)

                    #第一个大返回1,小返回-1,一样返回0

 

dictionary的复制

dict1 = dict            #别名    浅拷贝   指针直接指向

 

>>> dict1 = mydict1

>>> id(dict1)
1751728577272
>>> id(mydict1)
1751728577272

dict2=dict.copy()   #克隆,即另一个拷贝。 新的字典内存空间

 

>>> dict2 = mydict1.copy()

>>> id(dict2)
1751728577344
>>> id(mydict1)
1751728577272

 但是字典内的元素地址还是一样的

>>> id(dict1["a"])

2564442425248
>>> id(dict2["a"])
2564442425248

 

使用deepcopy 元素以及变量都是新的地址

import copy

copy.deepcopy方法

 

set集合 每一项只能是唯一的

myset = set()

>>> type(myset)

<class 'tuple'>

>>> myset2 = {'a','b','c'}

>>> type(myset2)
<class 'set'>

 

add(),添加元素

>>> myset2.add("d")

>>> myset2
{'b', 'a', 'd', 'c'}

 

>>> myset2.remove("d")

>>> myset2
{'b', 'a', 'c'}

 

clear() 清空 

>>> myset.clear()

>>> myset
set()

 

pop() 弹出一个 随机的

>>> myset2.pop()

'b'
>>> myset2.pop()
'a'

>>> myset2

{'c'}

 

copy() 和字典一样

 

转载于:https://www.cnblogs.com/hywhyme/p/11571525.html

你可能感兴趣的文章
[置顶] ListBox控件的数据绑定
查看>>
链表插入排序
查看>>
http://blog.csdn.net/yunye114105/article/details/7997041
查看>>
设计模式这个东西 刚刚发现几种模式好像大同小异啊
查看>>
关于 主键和外键
查看>>
python集合的交,差,并,补集合运算汇总
查看>>
校园分期支付的机遇和风险
查看>>
怕忘记-windows 2003服务器安装Node.js NPM
查看>>
一鍵分享(優化后)
查看>>
dcm4che 的依赖无法下载
查看>>
cygwin主要命令
查看>>
多线程存在哪些风险
查看>>
洛谷P2692 覆盖 题解
查看>>
Linux下清理内存和Cache方法见下文:
查看>>
【AngularJs-模块篇-Form篇】
查看>>
支持向量基
查看>>
单链表 类
查看>>
类的组合 构造函数的用法
查看>>
ORACLE SQL:经典查询练手第三篇
查看>>
ubuntu 包管理
查看>>