【 Python 全栈开发 - 语法基础篇 - 13 】Python 基本数据类型 —— 字典

本文详细介绍了Python中的字典数据类型,包括如何增加、删除和查找元素,以及修改元素的方法,如`clear()`、`len()`、`keys()`、`values()`、`items()`、`in`和`notin`的使用,还有`setdefault()`和`get()`函数的功能和用法。


一、基本数据类型

Python 中一共有6种基本数据类型,他们是:

  1. Number(数字)
  2. String(字符串)
  3. List(列表)
  4. Tuple(元组)
  5. Set(集合)
  6. Dictionary(字典)

在这6个基本数据类型中,不可变数据 有3个:

  • Number(数字)
  • String(字符串)
  • Tuple(元组)

可变数据 有3个:

  • List(列表)
  • Set(集合)
  • Dictionary(字典)

各个数据可以使用特定的语句来进行转换,如int()、str()、float()、set()等。

本期内容我们详细介绍Dictionary(字典)这一类型。


二、Dictionary(字典)

字典,Dictionary,简写 dict

Python字典是一种可变容器模型,可存储任意类型对象,如字符串、数字、元组等。

字典是无序的,所以不支持索引和切片。

字典以键值对的方式存在。如:1:2,1是键,2是值,可以通过键来访问值。

字典的几种创建格式:

a = {1: 'a', 2:'b'}
b = {}
c = dict()

如下的 a,b,c 都是字典。

a = {1: '关注', 2: '书某人'}
b = dict()
c = {}

注意:

  • key键不可以重复,否则只会保留第一个;
  • value值可以重复;
  • key键可以是任意的数据类型,但不能出现可变的数据类型,保证key唯一。

(1)字典增加元素

字典增加元素 格式:

dict[key] = value

示例:

dic = {'张三': 1, '李四': 2}
dic['王五'] = 3
print(dic)

程序输出:

{'张三': 1, '李四': 2, '王五': 3}

可以看到,程序运行后,在原有字典的基础上添加了一个元素(键值对)——'王五': 3

(2)字典删除元素

知道了如何增加元素,肯定要学学如何删除元素!

格式:

del dict[key]

示例如下:

dic = {'张三': 1, '李四': 2}
del dic['李四']
print(dic)

程序输出:

{'张三': 1}

这样,元素“李四”对应的键值对就被我们删除了!

(3)字典查找元素

查找字典的元素,格式如下:

dict[key]

其中,

  • dict:字典名;
  • key:键;
  • 返回值:字典dict中键key所对应的值value

举个例子:

dict = {'张三': 1, '李四': 2, '王五': 3}
print(dict['张三'])
1

(4)字典修改元素

格式:

dict[key] = new value

举例:

dict = {'张三': 1, '李四': 2, '王五': 4}
dict['王五'] = 3
print(dict)
{'张三': 1, '李四': 2, '王五': 3}

(5)使用clear()清空字典

格式:

dict.clear()

举例:

dict = {'a': 1, 'b': 2, 'c': 4}
dict.clear()
print(dict)
{}

(6)len()获取字典长度

格式:

len(dict)

示例:

dic = {'张三': 1, '李四': 2, '王五': 3}
print(len(dic))

程序输出:

3

(7)keys()获取字典所有的键

格式如下:

dict.keys()

执行语句后,将返回字典所有的键。

示例:

dic = {'张三': 1, '李四': 2, '王五': 3}
print(dic.keys())

程序输出:

dict_keys(['张三', '李四', '王五'])

(8)values()获取字典所有的值

格式如下:

dict.values()

执行语句后,将返回字典所有的值。

示例:

dic = {'张三': 1, '李四': 2, '王五': 3}
print(dic.values())

程序输出:

dict_values([1, 2, 3])

(9)items()获取字典所有的键值对

格式如下:

dict.items()

执行语句后,将返回字典所有的键值对(以列表的形式返回,包含由对应的键、值组成的元组)。

示例:

dic = {'张三': 1, '李四': 2, '王五': 3}
print(dic.items())

程序输出:

dict_items([('张三', 1), ('李四', 2), ('王五', 3)])

(10)使用innot in判断元素是否在字典中

in查找:返回True(真)表示在字符串内,返回False(假)表示不在字符串内。
not in查找:返回True(真)表示不在字符串内,返回False(假)表示在字符串内。

示例:

dic = {'张三': 1, '李四': 2, '王五': 3}
print('张三' in dic)
print('张三' not in dic)
print(1 in dic)
print(1 not in dic)

输出:

True
False
False
True

可以看到,innot in判断的是键是否在字典中,而非值。

(11)字典的setdefault()函数

作用:

  • 如果key值存在,那么返回对应字典的value,不会用到自己设置的value;
  • 如果key值不存在,且没有设置value,则返回None,并且把新设置的key和value保存在字典中;
  • 如果key值不存在,但设置了value,则返回设置的value。

格式:

dict.setdefault(key, value)

示例:

dic = {'张三': 1, '李四': 2}
print(dic.setdefault('张三'))
print(dic.setdefault('张三', 3))
print(dic.setdefault('王五'))
print(dic.setdefault('王五', 3))

输出:

1
1
None
None

(12)字典的get()函数

声明:本函数来自粉丝提问,粉丝不愿透露姓名!

格式:

dic.get(key,value)

作用:

  • 如果key值存在,那么返回对应字典的value,不会用到自己设置的value;
  • 如果key值不存在,返回None,但是不会把新设置的key和value保存在字典中;
  • 如果key值不存在,但设置了value,则返回设置的value。

示例:

dic = {'张三': 1, '李四': 2}
print(dic.get('张三'))
print(dic.get('张三', '张三不存在'))
print(dic.get('王五'))
print(dic.get('王五', '王五不存在'))
1
1
None
王五不存在
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值