当前位置:   article > 正文

从0开始学Python(五、字典与集合)

从0开始学Python(五、字典与集合)

1.字典

1.1简介

字典是Python中十分重要的数据结构,因为我们用字典可以进行查找,哈希表的书写。
字典包括两个部分,一个为键key,一个为数值value,每个键对应一个数值。

1.2基本用法

字典的内容在花括号 {} 内,键-值(key-value)之间用冒号 : 分隔,键值对之间用逗号 , 分隔,比如创建字典 d。

创建
直接通过{ }创建。

用法如下:

dic = {'1': '小猫', '2': '小狗', '3': '小狮子', '4': '小傻子'}
print(type(dic))
print(dic)
  • 1
  • 2
  • 3

输出:

<class 'dict'>
{'1': '小猫', '2': '小狗', '3': '小狮子', '4': '小傻子'}
  • 1
  • 2

查询
直接通过数值前面的键进行查询就可以。

用法如下:

dic = {'1': '小猫', '2': '小狗', '3': '小狮子', '4': '小傻子'}
print(dic['3'])
  • 1
  • 2

输出:

小狮子
  • 1

修改

用法如下:

dic = {'1': '小猫', '2': '小狗', '3': '小狮子', '4': '小傻子'}
dic['1'] = '大傻子'
print(dic)
  • 1
  • 2
  • 3

输出:

{'1': '大傻子', '2': '小狗', '3': '小狮子', '4': '小傻子'}
  • 1

删除字典
利用clear()函数清空字典

用法如下:

dic = {'1': '小猫', '2': '小狗', '3': '小狮子', '4': '小傻子'}
dic.clear()
print(dic)
  • 1
  • 2
  • 3

输出:

{}
  • 1

获取字典的长度
len()函数

用法如下:

dic = {'1': '小猫', '2': '小狗', '3': '小狮子', '4': '小傻子'}
print(len(dic))
  • 1
  • 2

输出:

4
  • 1
1.2.1get()函数

get函数用于访问键所对应的数值,如果字典中没有存在键时,返回None。
用法如下:

dic = {'1': '小猫', '2': '小狗', '3': '小狮子', '4': '小傻子'}
print(dic.get('4'))
print(dic.get('5'))
  • 1
  • 2
  • 3

输出:

小傻子
None
  • 1
  • 2
1.2.2setdefault()函数

setdefault方法与get方法类似,可以获得给定键的值,除此之外它还能在字典中不含有给定键的情况下设定相应的键值。
用法如下:

dic = {'1': '小猫', '2': '小狗', '3': '小狮子', '4': '小傻子'}
print(dic.setdefault('4'))
dic.setdefault('5', '这是一个新添加的数值')
print(dic)
  • 1
  • 2
  • 3
  • 4

输出:

小傻子
{'1': '小猫', '2': '小狗', '3': '小狮子', '4': '小傻子', '5': '这是一个新添加的数值'}
  • 1
  • 2
1.2.3items()函数

items方法将字典中所有的项以列表方式返回,但是在返回的时候没有特定的顺序。
用法如下:

dic = {'1': '小猫', '2': '小狗', '3': '小狮子', '4': '小傻子'}
print(dic.items())
for key, value in dic.items():  # 遍历字典
    print(f'字典的键为{key}, 字典的值为{value}', end='\t')

  • 1
  • 2
  • 3
  • 4
  • 5

输出:

dict_items([('1', '小猫'), ('2', '小狗'), ('3', '小狮子'), ('4', '小傻子')])
字典的键为1, 字典的值为小猫	字典的键为2, 字典的值为小狗	字典的键为3, 字典的值为小狮子	字典的键为4, 字典的值为小傻子	
  • 1
  • 2
1.2.4keys()函数

返回字典中的所有键的数值。
用法如下:

dic = {'1': '小猫', '2': '小狗', '3': '小狮子', '4': '小傻子'}
print(dic.keys())
for key in dic.keys():
    print(f'字典的键为{key}', end='\t')
  • 1
  • 2
  • 3
  • 4

输出:

dict_keys(['1', '2', '3', '4'])
字典的键为1	字典的键为2	字典的键为3	字典的键为4
  • 1
  • 2
1.2.5value()函数

返回字典中的所有值的数值。
用法如下:

dic = {'1': '小猫', '2': '小狗', '3': '小狮子', '4': '小傻子'}
print(dic.values())
for value in dic.values():
    print(f'字典的值为{value}', end='\t')
  • 1
  • 2
  • 3
  • 4

输出:

dict_values(['小猫', '小狗', '小狮子', '小傻子'])
字典的值为小猫	字典的值为小狗	字典的值为小狮子	字典的值为小傻子	
  • 1
  • 2
1.2.6pop()函数

删除字典中的键。
用法如下:

dic = {'1': '小猫', '2': '小狗', '3': '小狮子', '4': '小傻子'}
dic.pop('1')
print(dic)
  • 1
  • 2
  • 3

输出:

{'2': '小狗', '3': '小狮子', '4': '小傻子'}
  • 1
1.2.7popitem()函数

随机删除字典中某一键值对,并以元组的形式返回这一键值对,返回并删除字典中的最后一对键和值
用法如下:

dic = {'1': '小猫', '2': '小狗', '3': '小狮子', '4': '小傻子'}
dic.popitem()
print(dic)
  • 1
  • 2
  • 3

输出:

{'1': '小猫', '2': '小狗', '3': '小狮子'}
  • 1

2.集合

2.1介绍

集合(set)与字典相同均存储 key,但也只存储 key,因 key 不可重复,所以 set 的中的值不可重复,也是无序的。
注意: 集合没有索引、切片、重复、连接的特性,集合只有成员操作符、迭代循环遍历、枚举的特性

2.2基本用法

创建
集合使用花括号 {} 或者 set() 函数创建,如果创建空集合只能使用 set() 函数,以创建集合 s 为例

用法如下:

s = {'1', 5, 6, '大傻子'}
print(type(s))
print(s)
  • 1
  • 2
  • 3

输出:

<class 'set'>
{'1', '大傻子', 5, 6}
  • 1
  • 2

添加元素
通过add或者update添加

用法如下:

s = {'1', 5, 6, '大傻子'}
s.add('大聪明')
print(s)
  • 1
  • 2
  • 3

输出:

{5, 6, '1', '大聪明', '大傻子'}
  • 1

删除元素
使用remove方法

用法如下:

s = {'1', 5, 6, '大傻子'}
s.add('大聪明')
s.remove(6)
print(s)
  • 1
  • 2
  • 3
  • 4

输出:

{'大傻子', 5, '大聪明', '1'}
  • 1
2.2.1求交集

通过intersection()函数或者&进行交集的求解。
用法如下:

s1 = {'1', 5, 6, '大傻子'}
s2 = {'6', 6, 6, '大聪明'}
print(s1.intersection(s2))
print(s1 & s2)
  • 1
  • 2
  • 3
  • 4

输出:

{6}
{6}
  • 1
  • 2
2.2.2求并集

通过union()函数或者|求解并集
用法如下:

s1 = {'1', 5, 6, '大傻子'}
s2 = {'6', 6, 6, '大聪明'}
print(s1.union(s2))
print(s1 | s2)
  • 1
  • 2
  • 3
  • 4

输出:

{'大傻子', 5, 6, '1', '大聪明', '6'}
{'大傻子', 5, 6, '1', '大聪明', '6'}
  • 1
  • 2
2.2.3求差集

通过difference()函数求解
用法如下:

s1 = {1, 3, 5, 7, 9}
s2 = {1, 3, 6, 8, 10}
print(s1.difference(s2))
  • 1
  • 2
  • 3

输出:

{9, 5, 7}
  • 1
2.2.4求对等差分

通过symmetric_difference()函数或者^求解对等差分。
用法如下:

s1 = {1, 3, 5, 7, 9}
s2 = {1, 3, 6, 8, 10}
print(s1.symmetric_difference(s2))
print(s1 ^ s2)
  • 1
  • 2
  • 3
  • 4

输出:

{5, 6, 7, 8, 9, 10}
{5, 6, 7, 8, 9, 10}
  • 1
  • 2
2.2.5集合应用于去重

用法如下:

s1 = [1, 3, 5, 7, 9, 1, 3, 6, 8, 10]
print(list(set(s1)))
  • 1
  • 2

输出:

[1, 3, 5, 6, 7, 8, 9, 10]
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/214791?site
推荐阅读
相关标签
  

闽ICP备14008679号