美文网首页
python字典与集合

python字典与集合

作者: 像小象的云 | 来源:发表于2018-10-20 17:16 被阅读0次

字典

python中的字典是一种可变、无序的容器类型,可变即字典中的元素增删改,无序即不能根据下标(索引)来获取其中的元素。字典中的每个元素都是由 键:值 的形式,一个字典中的键必须是由不可变元素构成,且不能重复,值可以是任意类型。

字典方法:

方法 描述
radiansdict.clear() 删除字典内所有元素
radiansdict.copy() 返回一个字典的浅复制
radiansdict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
radiansdict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
radiansdict.items() 以列表返回可遍历的(键, 值) 元组数组
radiansdict.keys() 返回一个迭代器,可以使用 list() 来转换为列表
radiansdict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里
radiansdict.values() 返回一个迭代器,可以使用 list() 来转换为列表
dict.pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值
dict.popitem() 随机返回并删除字典中的一对键和值(一般删除末尾对)
dict1 = {"name":"lily","age":14} #创建一个字典
list1 = ["score","money"]
print("score" in dict1) #成员测试,对字典进行的成员测试是对字典键的检测
dict2 = dict1.copy() #浅复制,实际创建了一个新的字典,两个字典的值相同
print(dict1 == dict2)
print(dict2 is dict1)
#dict.fromkeys(seq,[value])创建一个新的字典,以seq中的每个元素做键,vlaue做值,如果不传入value,默认None
dict3 = dict.fromkeys(list1,100)
print(dict3)
#dict.get(key,[value]) 获取key的值,当不传入value时如果key不存在,返回None,当传入value时如果key不存在,返回value
print(dict1.get("age",20))
print(len(dict1)) #获取dict1中元素个数
#dict.items() 将dict中的每一个键值对以元组(键,值)的形式返回一个列表
print(dict1.items())
#dict.keys() 将dict中的所有键返回一个列表
print(dict1.keys())
#dict.values() 将dict中的所有值返回一个列表
print(dict1.values())
#dict.pop(key[,default])|删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值
print(dict1.pop("age"))
#dict.popitem()随机返回并删除字典中的一对键和值(一般删除末尾对)
print(dict2.popitem())
#dict.update(dict2)把字典dict2的键/值对更新到dict里
dict1.update(dict3)
print(dict1)
#dict.setdefault(key)  --> 添加键值对,键是key,值是None
#dict.setdefault(key,value)  --> 添加键值对,键是key,值是value
#dict:key存在的时候,对字典不会有任何操作(不会修改key对应的值)
dict1.setdefault("age",23)
print(dict1)
#dict1[key]=value  当key存在时,改变对应的值,当key不存在时,添加新的键值对 key:value
dict1["gender"] = "男"
print(dict1)
#dict.clear() 清空字典
dict1.clear()
print(dict1)

执行结果:
False
True
False
{'score': 100, 'money': 100}
14
2
dict_items([('name', 'lily'), ('age', 14)])
dict_keys(['name', 'age'])
dict_values(['lily', 14])
14
('age', 14)
{'name': 'lily', 'score': 100, 'money': 100}
{'name': 'lily', 'score': 100, 'money': 100, 'age': 23}
{'name': 'lily', 'score': 100, 'money': 100, 'age': 23, 'gender': '男'}
{}

集合

集合是可以同时存储多个数据,可变的,无序的,且元素是唯一的。唯一是值不能有重复的元素,自动去重,这一点经常用来对序列元素去重。
集合中的元素只能是不可变的数据。

set1 = {1, 2, 3,2,3}
print(set1)
set2 = {}  # 这个是空的字典

# 2.集合的增删改查
# a.查(获取元素)
"""
集合不能单独的获取一个元素,也不能切片,只能通过for-in来遍历
"""
for x in set1:
    print(x)

# b.增(添加元素)
"""
集合.add(元素) --> 在集合中添加一个元素
"""
set1 = {1, 2, 3}
set1.add(4)
print(set1)

"""
集合1.update(序列)  --> 将序列中的元素添加到集合1中
"""
set1.update({'a', 'b'})
print(set1)

set1.update('0987')
print(set1)

set1.update(['abc', 'aaa'])
print(set1)

set1.update({'name': 1, 'age': 18})   # 字典只添加key
print(set1)

# 3.删(删除元素)
"""
集合.remove(元素) --> 删除指定的元素
"""
set1.remove(1)
print(set1)

# 4.改(集合不能改)

执行结果:
{1, 2, 3}
1
2
3
{1, 2, 3, 4}
{'b', 1, 2, 3, 4, 'a'}
{1, 2, 3, 4, '0', 'a', '8', 'b', '9', '7'}
{1, 2, 3, 4, 'abc', '0', 'a', '8', 'b', 'aaa', '9', '7'}
{1, 2, 3, 4, 'abc', '0', 'name', 'age', 'a', '8', 'b', 'aaa', '9', '7'}
{2, 3, 4, 'abc', '0', 'name', 'age', 'a', '8', 'b', 'aaa', '9', '7'}

集合可以进行数学集合运算

# 集合相关的运算: 是否包含,交集、并集、差集、补集
# 1.包含
"""
集合1 >= 集合2 ---> 判断集合1之中是否包含集合2
集合2 <= 集合2 ---> 判断集合2之中是否包含集合1
"""
set1 = {1, 2, 3, 4, 5, 10}
set2 = {3, 4, 1}
print(set1 >= set2)

# 2.交集 -> &
"""
& --> 求两个集合公共的部分
"""
set1 = {1, 2, 3, 4, 5}
set2 = {1, 2, 3, 10, 20}
print(set1 & set2)

# 3.求并集
"""
| --> 求两个集合的和
"""
print(set1 | set2)

# 4.求差集
"""
集合1-集合2 --> 求集合1中除了集合2以外的部分
"""
print(set1 - set2)

# 5.求补集
"""
^ --> 求两个集合除了公共部分以外的部分
"""
print(set1 ^ set2)

执行结果
True
{1, 2, 3}
{1, 2, 3, 4, 5, 10, 20}
{4, 5}
{20, 4, 5, 10}

相关文章

  • python 字典相关操作

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

  • Python基础之元组、字典,集合详解

    之前总结了Python列表,这篇总结Python的元组,字典和集合。 一 元组 tuple Python 的元组与...

  • Python集合与字典

    集合-set 集合是高中数学中的一个概念 一堆确定的无序的唯一的数据,集合中每一个数据成为一个元素 集合的特征 集...

  • python字典与集合

    字典 python中的字典是一种可变、无序的容器类型,可变即字典中的元素增删改,无序即不能根据下标(索引)来获取其...

  • python字典与集合

    python字典 特点: python中唯一的映射类型就是字典。 在映射类型对象里,hash值(key)和指向的对...

  • python字典与集合

    字典 1.什么是字典 1) 字典是容器型数据类型(序列),将{}作为容器的标志,里面的元素用逗号隔开特点:可变(支...

  • 集合

    一、什么是集合 Python语言提供的内置数据结构 与列表、字典一样,都属于可变序列 集合是没有Value的字典 ...

  • 字典的创建及操作方法

    1、字典的特点 字典:是python中的无序的对象集合。字典与列表的区别是:字典中的数据是无序的,而且字典中的元素...

  • Python3 小技巧

    集合操作 字典操作 两个字典 相交、合并、相差 Python 映射 Python 内置函数 map();map()...

  • python--集合与字典

    在前面的学习中,我们知道序列是有序的,当中的元素是可以重复的,其实,在python中还有两个序列是无序的,我们叫他...

网友评论

      本文标题:python字典与集合

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