隐而远外 发表于 2020-8-20 22:23

【笔记】python自学笔记六

人生苦短,我学python
笔记继续默默地更哈,这只是个人笔记一定会有不正确的地方,如果看到有错误,欢迎指出,谢谢你~~

然后我之前有发过一个python解疑与反思的帖子,以后我在学习过程中的所有疑问及解答都会放在那里,偶尔会发点我的错题,算是一个小合集吧。

## 8.字典

### 解释

字典是一种大小可变的键值对集,其中的键(key)和值(value)都是python的对象。

键和值由冒号`:`隔开,每个键值对由英文状态下的逗号`,`隔开,整个字典被包含在花括号`{}`里。

例如:`a={key:value,key1:value1}`

键必须是唯一的,但值则不必。值可以取任何数据类型,但键只能取不可变的数据类型如:字符串,数字或元组。

例如:`b={'name':'008','age':7,'hobby':'fly'}`

### 由键访问值

访问字典里的值的方法是:把相应的键放入方括号中。

举例如下:

```python
dict1={'name':'张三','school':'xiaoxue','age':3}# 创建一个字典
print(dict1['name'])#由键'name'访问值'张三'
```

出现报错的可能原因:

1.英文状态下的逗号输错了

2.由键访问值时字符串类型的数据没有加引号

**3.你输入的**键**字典里并没有,会出现`KeyError:XXX`的报错**

### 修改字典

####1.字典的更新和添加

用于把字典中的值进行更新,具体方法为下:

```python
dict1={'name':'张三','school':'xiaoxue','age':3}
dict1['name']='李四'#更新'name'为'李四'
print(dict1['name'])
```

字典中的添加:

```python
dict1={'name':'张三','school':'xiaoxue','age':3}
dict1['class']=1#在字典dict1的最后添加键值对:'class':1
print(dict1)
```



#### 2.删除字典元素

可以删除单一的元素,也可以清空字典,也可删除字典。

删除键之后值也会被删除,想删除某一个值要用它对应的键来删除。

清空字典用`clear()`方法

```python
dict1={'name':'张三','school':'xiaoxue','age':3}
del dict1['school']#删除键'school'
dict1.clear()#清空字典
del dict1#删除字典
```

但用del 删除字典易引发错误。



### 要点强调

1.**同一个键不允许出现两次**,如果出现两次,值会取后者。

2.键只能取不可变的数据类型,如字符串,数字,元组,**不能用列表**。

( 睡觉!晚安!)

cszcszv163 发表于 2020-8-20 22:41

哈,我今天也研究了字典

OO2OO 发表于 2020-8-21 00:09

一起进步

alonelyking 发表于 2020-8-21 14:15

唉,,,之前学的都忘了

隐而远外 发表于 2020-8-21 16:45

cszcszv163 发表于 2020-8-20 22:41
哈,我今天也研究了字典

你的代码是用pycharm写的吗?感觉好高级的样子,我开始学就用的sublime就不想换了哈哈,但是感觉用pycharm的同学多一些哎

bandishui 发表于 2020-8-21 17:07

sublime +1 习惯成自然,暂时够用

cszcszv163 发表于 2020-8-22 11:04

隐而远外 发表于 2020-8-21 16:45
你的代码是用pycharm写的吗?感觉好高级的样子,我开始学就用的sublime就不想换了哈哈,但是感觉用pychar ...

嗯,是pycharm,你习惯用哪个就用那个就可以了。

tang2018 发表于 2020-8-22 16:06

pycharm可以自动补全一些函数,对新手更方便

bookaccount 发表于 2020-8-23 03:30

知道有字典这个数据结构和基本的写法就行了,具体的方法不需要记,也不需要研究,编程时碰到了再查资料

Anxious 发表于 2020-8-23 07:04

感觉好厉害,一起加油
页: [1]
查看完整版本: 【笔记】python自学笔记六