-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpython-container.html
306 lines (306 loc) · 93.2 KB
/
python-container.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=2"><meta name="theme-color" content="#222"><meta http-equiv="X-UA-COMPATIBLE" content="IE=edge,chrome=1"><meta name="renderer" content="webkit"><link rel="icon" type="image/ico" sizes="32x32" href="/assets/favicon.ico"><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon.png"><link rel="alternate" href="/rss.xml" title="Jiankychen's Blog" type="application/rss+xml"><link rel="alternate" href="/atom.xml" title="Jiankychen's Blog" type="application/atom+xml"><link rel="alternate" type="application/json" title="Jiankychen's Blog" href="https://jiankychen.github.io/feed.json"><link rel="preconnect" href="https://lf9-cdn-tos.bytecdntp.com"><link rel="preconnect" href="https://at.alicdn.com"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Mulish:400,400italic,700,700italic%7CFredericka%20the%20Great:400,400italic,700,700italic%7CNoto%20Serif%20JP:400,400italic,700,700italic%7CNoto%20Serif%20SC:400,400italic,700,700italic%7CInconsolata:400,400italic,700,700italic&display=swap&subset=latin,latin-ext" media="none" onload="this.media='all'"><link rel="stylesheet" href="/css/app.css?v=0.4.2"><link rel="modulepreload" href="/js/chunk-7IVLRIQ3.js"><link rel="modulepreload" href="/js/chunk-IXT6LZJL.js"><link rel="modulepreload" href="/js/chunk-PHSEV26P.js"><link rel="modulepreload" href="/js/chunk-XHQGHZCW.js"><link rel="modulepreload" href="/js/comments-TUWNDU5I.js"><link rel="modulepreload" href="/js/post-P6IN2S3Y.js"><link rel="modulepreload" href="/js/quicklink-HAJEHOPK.js"><link rel="modulepreload" href="/js/search-WFXK2K66.js"><link rel="modulepreload" href="/js/siteInit.js"><link rel="stylesheet" href="https://npm.webcache.cn/@waline/[email protected]/dist/waline.css" media="none" onload="this.media='all'"><link rel="preload" href="https://img.timelessq.com/images/2022/07/26/42bab566f107b9a16542343e0368fb77.jpg" as="image" fetchpriority="high"><link rel="preload" href="https://img.timelessq.com/images/2022/07/26/99fb5ff897a82984470abf5e2a235d94.jpg" as="image" fetchpriority="high"><link rel="preload" href="https://i.imgtg.com/2023/03/09/YSj7p.jpg" as="image" fetchpriority="high"><link rel="preload" href="https://i.imgtg.com/2023/03/09/Y0hOs.jpg" as="image" fetchpriority="high"><link rel="preload" href="https://i.imgtg.com/2023/03/09/YS6XY.jpg" as="image" fetchpriority="high"><link rel="preload" href="https://img.timelessq.com/images/2022/07/26/8491109c4ae2ac88bbf9659a4f6d5ed2.jpg" as="image" fetchpriority="high"><link rel="canonical" href="https://jiankychen.github.io/python-container"><title>Python 数据容器</title><meta name="generator" content="Hexo 7.0.0"></head><body itemscope="" itemtype="http://schema.org/WebPage"><div id="loading"><div class="cat"><div class="body"></div><div class="head"><div class="face"></div></div><div class="foot"><div class="tummy-end"></div><div class="bottom"></div><div class="legs left"></div><div class="legs right"></div></div><div class="paw"><div class="hands left"></div><div class="hands right"></div></div></div></div><div id="container"><header id="header" itemscope="" itemtype="http://schema.org/WPHeader"><div class="inner"><div id="brand"><div class="pjax"><h1 itemprop="name headline">Python 数据容器</h1><div class="meta"><span class="item" title="创建时间:2022-12-01 19:21:27"><span class="icon"><i class="ic i-calendar"></i></span><span class="text">发表于</span><time itemprop="dateCreated datePublished" datetime="2022-12-01T19:21:27+08:00">2022-12-01</time></span><span class="item" title="本文字数"><span class="icon"><i class="ic i-pen"></i></span><span class="text">本文字数</span><span>8.6k</span><span class="text">字</span></span><span class="item" title="阅读时长"><span class="icon"><i class="ic i-clock"></i></span><span class="text">阅读时长</span><span>8 分钟</span></span></div></div></div><nav id="nav"><div class="inner"><div class="toggle"><div class="lines" aria-label="切换导航栏"><span class="line"></span><span class="line"></span><span class="line"></span></div></div><ul class="menu"><li class="item title"><a href="/" rel="start">Jiankychen</a></li></ul><ul class="right" id="rightNav"><li class="item theme"><i class="ic i-sun"></i></li><li class="item search"><i class="ic i-search"></i></li></ul></div></nav></div><div class="pjax" id="imgs"><ul><li class="item" style="background-image: url("https://img.timelessq.com/images/2022/07/26/42bab566f107b9a16542343e0368fb77.jpg");"></li><li class="item" style="background-image: url("https://img.timelessq.com/images/2022/07/26/99fb5ff897a82984470abf5e2a235d94.jpg");"></li><li class="item" style="background-image: url("https://i.imgtg.com/2023/03/09/YSj7p.jpg");"></li><li class="item" style="background-image: url("https://i.imgtg.com/2023/03/09/Y0hOs.jpg");"></li><li class="item" style="background-image: url("https://i.imgtg.com/2023/03/09/YS6XY.jpg");"></li><li class="item" style="background-image: url("https://img.timelessq.com/images/2022/07/26/8491109c4ae2ac88bbf9659a4f6d5ed2.jpg");"></li></ul></div></header><div id="waves"><svg class="waves" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 24 150 28" preserveAspectRatio="none" shape-rendering="auto"><defs><path id="gentle-wave" d="M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z"></path></defs><g class="parallax"><use xlink:href="#gentle-wave" x="48" y="0"></use><use xlink:href="#gentle-wave" x="48" y="3"></use><use xlink:href="#gentle-wave" x="48" y="5"></use><use xlink:href="#gentle-wave" x="48" y="7"></use></g></svg></div><main><div class="inner"><div class="pjax" id="main"><div class="article wrap"><div class="breadcrumb" itemlistelement="" itemscope="" itemtype="https://schema.org/BreadcrumbList"><i class="ic i-home"></i><span><a href="/">首页</a></span><i class="ic i-angle-right"></i><span class="current" itemprop="itemListElement" itemscope="itemscope" itemtype="https://schema.org/ListItem"><a href="/categories/Python/" itemprop="item" rel="index" title="分类于Python"><span itemprop="name">Python<meta itemprop="position" content="0"></span></a></span></div><article class="post block" itemscope="itemscope" itemtype="http://schema.org/Article" lang="zh-CN"><link itemprop="mainEntityOfPage" href="https://jiankychen.github.io/python-container.html"><span hidden="hidden" itemprop="author" itemscope="itemscope" itemtype="http://schema.org/Person"><meta itemprop="image" content="/assets/avatar.jpg"><meta itemprop="name" content="Jiankychen"><meta itemprop="description" content="Never put off till tomorrow what you can do today, "></span><span hidden="hidden" itemprop="publisher" itemscope="itemscope" itemtype="http://schema.org/Organization"><meta itemprop="name" content="Jiankychen's Blog"></span><div class="body md" itemprop="articleBody"><p>数据容器:一种可以容纳多份数据的数据类型,容纳的每一份数据称之为 1 个元素,其中,每一个元素可以是任意类型的数据,如字符串、数字、布尔等</p>
<p>Python 数据容器可以分为 5 类:</p>
<ul>
<li>列表(list)</li>
<li>元组(tuple)</li>
<li>字符串(str)</li>
<li>集合(set)</li>
<li>字典(dict)</li>
</ul>
<table>
<thead>
<tr>
<th style="text-align:center"></th>
<th style="text-align:center">列表</th>
<th style="text-align:center">元组</th>
<th style="text-align:center">字符串</th>
<th style="text-align:center">集合</th>
<th style="text-align:center">字典</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">元素类型</td>
<td style="text-align:center">任意</td>
<td style="text-align:center">任意</td>
<td style="text-align:center">字符</td>
<td style="text-align:center">任意</td>
<td style="text-align:center">key-value (key: 除字典外任意类型,value: 任意类型)</td>
</tr>
<tr>
<td style="text-align:center">下标索引</td>
<td style="text-align:center">支持</td>
<td style="text-align:center">支持</td>
<td style="text-align:center">支持</td>
<td style="text-align:center">不支持</td>
<td style="text-align:center">不支持</td>
</tr>
<tr>
<td style="text-align:center">数据有序</td>
<td style="text-align:center">是</td>
<td style="text-align:center">是</td>
<td style="text-align:center">是</td>
<td style="text-align:center">否</td>
<td style="text-align:center">否</td>
</tr>
<tr>
<td style="text-align:center">重复元素</td>
<td style="text-align:center">支持</td>
<td style="text-align:center">支持</td>
<td style="text-align:center">支持</td>
<td style="text-align:center">不支持</td>
<td style="text-align:center">不支持</td>
</tr>
<tr>
<td style="text-align:center">可修改性</td>
<td style="text-align:center">是</td>
<td style="text-align:center">否</td>
<td style="text-align:center">是</td>
<td style="text-align:center">是</td>
<td style="text-align:center">是</td>
</tr>
</tbody>
</table>
<blockquote>
<p>在 Python 中,有序是指其中的数据可以通过索引(即下标)进行访问</p>
</blockquote>
<h1 id="列表"><a class="anchor" href="#列表">#</a> 列表</h1>
<h2 id="列表的定义"><a class="anchor" href="#列表的定义">#</a> 列表的定义</h2>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token comment"># 字面量</span></pre></td></tr><tr><td data-num="2"></td><td><pre><span class="token punctuation">[</span>元素<span class="token number">1</span><span class="token punctuation">,</span> 元素<span class="token number">2</span><span class="token punctuation">,</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span></pre></td></tr><tr><td data-num="3"></td><td><pre></pre></td></tr><tr><td data-num="4"></td><td><pre><span class="token comment"># 定义变量</span></pre></td></tr><tr><td data-num="5"></td><td><pre>变量名 <span class="token operator">=</span> <span class="token punctuation">[</span>元素<span class="token number">1</span><span class="token punctuation">,</span> 元素<span class="token number">2</span><span class="token punctuation">,</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">]</span></pre></td></tr><tr><td data-num="6"></td><td><pre></pre></td></tr><tr><td data-num="7"></td><td><pre><span class="token comment">#定义空列表</span></pre></td></tr><tr><td data-num="8"></td><td><pre>变量名称 <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span></pre></td></tr><tr><td data-num="9"></td><td><pre>变量名称 <span class="token operator">=</span> <span class="token builtin">list</span><span class="token punctuation">(</span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><p>列表可以同时存储不同的数据类型,并且,列表支持嵌套</p>
<p>例如:</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>my_list <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string">"iteration"</span><span class="token punctuation">,</span> <span class="token number">1234</span><span class="token punctuation">,</span> <span class="token boolean">True</span><span class="token punctuation">]</span></pre></td></tr><tr><td data-num="2"></td><td><pre>nested_list <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token number">4</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">,</span> <span class="token number">6</span><span class="token punctuation">]</span><span class="token punctuation">]</span></pre></td></tr><tr><td data-num="3"></td><td><pre></pre></td></tr><tr><td data-num="4"></td><td><pre><span class="token keyword">print</span><span class="token punctuation">(</span>my_list<span class="token punctuation">)</span></pre></td></tr><tr><td data-num="5"></td><td><pre><span class="token keyword">print</span><span class="token punctuation">(</span><span class="token builtin">type</span><span class="token punctuation">(</span>my_list<span class="token punctuation">)</span><span class="token punctuation">)</span></pre></td></tr><tr><td data-num="6"></td><td><pre></pre></td></tr><tr><td data-num="7"></td><td><pre><span class="token keyword">print</span><span class="token punctuation">(</span>nested_list<span class="token punctuation">)</span></pre></td></tr><tr><td data-num="8"></td><td><pre><span class="token keyword">print</span><span class="token punctuation">(</span><span class="token builtin">type</span><span class="token punctuation">(</span>nested_list<span class="token punctuation">)</span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h2 id="列表的方法"><a class="anchor" href="#列表的方法">#</a> 列表的方法</h2>
<h3 id="访问元素"><a class="anchor" href="#访问元素">#</a> 访问元素</h3>
<p>可以通过列表的下标索引 idx 获取对应位置的数据</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>value <span class="token operator">=</span> list_name<span class="token punctuation">[</span>idx<span class="token punctuation">]</span></pre></td></tr></tbody></table></figure><p>其中,列表的下标索引可以分为两种:</p>
<ul>
<li>正向索引(从左往右):从 0 开始,依次递增</li>
<li>反向索引(从右往左):从 -1 开始,依次递减</li>
</ul>
<blockquote>
<p>要注意下标索引的取值范围,超出范围会报错</p>
</blockquote>
<h3 id="查找元素"><a class="anchor" href="#查找元素">#</a> 查找元素</h3>
<p>查找元素 element 在列表 list_name 中的下标(元素在列表中的第一个匹配位置),如果找不到则报错 ValueError</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>list_name<span class="token punctuation">.</span>index<span class="token punctuation">(</span>element<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="修改元素"><a class="anchor" href="#修改元素">#</a> 修改元素</h3>
<p>修改下标为 idx 的元素的值</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>list_name<span class="token punctuation">[</span>idx<span class="token punctuation">]</span> <span class="token operator">=</span> value</pre></td></tr></tbody></table></figure><h3 id="插入元素"><a class="anchor" href="#插入元素">#</a> 插入元素</h3>
<p>在下标 idx 处插入元素 element</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>list_name<span class="token punctuation">.</span>insert<span class="token punctuation">(</span>idx<span class="token punctuation">,</span> element<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="追加元素"><a class="anchor" href="#追加元素">#</a> 追加元素</h3>
<p><strong>方式一</strong></p>
<p>将元素 element 追加到列表 list_name 的尾部</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>list_name<span class="token punctuation">.</span>append<span class="token punctuation">(</span>element<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><p>例如:</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>name_list <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string">"it"</span><span class="token punctuation">,</span> <span class="token string">"its"</span><span class="token punctuation">,</span> <span class="token string">"itself"</span><span class="token punctuation">]</span></pre></td></tr><tr><td data-num="2"></td><td><pre>name_list<span class="token punctuation">.</span>append<span class="token punctuation">(</span><span class="token string">"itheima"</span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><p><strong>方式二</strong></p>
<p>将其他数据容器的内容取出,依次追加到列表 list_name 的尾部</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>list_name<span class="token punctuation">.</span>extend<span class="token punctuation">(</span>Data<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><p>例如:</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>mylist <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">]</span></pre></td></tr><tr><td data-num="2"></td><td><pre>temp_list <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">,</span> <span class="token number">6</span><span class="token punctuation">]</span></pre></td></tr><tr><td data-num="3"></td><td><pre></pre></td></tr><tr><td data-num="4"></td><td><pre>mylist<span class="token punctuation">.</span>extend<span class="token punctuation">(</span>temp_list<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="删除指定位置元素"><a class="anchor" href="#删除指定位置元素">#</a> 删除指定位置元素</h3>
<p>删除下标 idx 处的元素</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token keyword">del</span> list_name<span class="token punctuation">[</span>idx<span class="token punctuation">]</span></pre></td></tr><tr><td data-num="2"></td><td><pre></pre></td></tr><tr><td data-num="3"></td><td><pre>list_name<span class="token punctuation">.</span>pop<span class="token punctuation">(</span>idx<span class="token punctuation">)</span> <span class="token comment"># 该方式可以获取返回值(被删除的元素)</span></pre></td></tr></tbody></table></figure><h3 id="删除指定元素"><a class="anchor" href="#删除指定元素">#</a> 删除指定元素</h3>
<p>删除指定元素值在列表中的第一个匹配项</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>list_name<span class="token punctuation">.</span>remove<span class="token punctuation">(</span>element<span class="token punctuation">)</span> <span class="token comment"># 删除元素 element 在列表中的第一个匹配项</span></pre></td></tr></tbody></table></figure><h3 id="清空列表"><a class="anchor" href="#清空列表">#</a> 清空列表</h3>
<p>清空列表内容</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>list_name<span class="token punctuation">.</span>clear<span class="token punctuation">(</span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="统计指定元素数量"><a class="anchor" href="#统计指定元素数量">#</a> 统计指定元素数量</h3>
<p>统计元素 element 在列表 list_name 中的数量</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>list_name<span class="token punctuation">.</span>count<span class="token punctuation">(</span>element<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h2 id="其他"><a class="anchor" href="#其他">#</a> 其他</h2>
<h3 id="统计列表元素数量"><a class="anchor" href="#统计列表元素数量">#</a> 统计列表元素数量</h3>
<p>统计整个列表中的元素总数量</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token builtin">len</span><span class="token punctuation">(</span>list_name<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="列表的-while-遍历"><a class="anchor" href="#列表的-while-遍历">#</a> 列表的 while 遍历</h3>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>idx <span class="token operator">=</span> <span class="token number">0</span></pre></td></tr><tr><td data-num="2"></td><td><pre><span class="token keyword">while</span> idx <span class="token operator"><</span> <span class="token builtin">len</span><span class="token punctuation">(</span>list_name<span class="token punctuation">)</span><span class="token punctuation">:</span></pre></td></tr><tr><td data-num="3"></td><td><pre> statement</pre></td></tr><tr><td data-num="4"></td><td><pre> idx <span class="token operator">+=</span> <span class="token number">1</span></pre></td></tr></tbody></table></figure><h3 id="列表的-for-遍历"><a class="anchor" href="#列表的-for-遍历">#</a> 列表的 for 遍历</h3>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token keyword">for</span> i <span class="token keyword">in</span> <span class="token builtin">range</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span> <span class="token builtin">len</span><span class="token punctuation">(</span>list_name<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">:</span></pre></td></tr><tr><td data-num="2"></td><td><pre> statement</pre></td></tr></tbody></table></figure><h1 id="元组"><a class="anchor" href="#元组">#</a> 元组</h1>
<p>元组(tuple):元组同列表一样,都是一种可以封装多个、不同类型的元素的容器;不同点在于,元素一旦定义完成,就不可以修改</p>
<h2 id="元组的定义"><a class="anchor" href="#元组的定义">#</a> 元组的定义</h2>
<p>定义元组:使用小括号包围数据,其中,每个数据之间用逗号隔开(数据可以是不同的数据类型)</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token comment"># 定义元组字面量</span></pre></td></tr><tr><td data-num="2"></td><td><pre><span class="token punctuation">(</span>元素<span class="token number">1</span><span class="token punctuation">,</span> 元素<span class="token number">2</span><span class="token punctuation">,</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">)</span></pre></td></tr><tr><td data-num="3"></td><td><pre></pre></td></tr><tr><td data-num="4"></td><td><pre><span class="token comment"># 定义元组变量</span></pre></td></tr><tr><td data-num="5"></td><td><pre>变量名称 <span class="token operator">=</span> <span class="token punctuation">(</span>元素<span class="token number">1</span><span class="token punctuation">,</span> 元素<span class="token number">2</span><span class="token punctuation">,</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">)</span></pre></td></tr><tr><td data-num="6"></td><td><pre></pre></td></tr><tr><td data-num="7"></td><td><pre><span class="token comment"># 定义空元组</span></pre></td></tr><tr><td data-num="8"></td><td><pre>变量名称 <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span></pre></td></tr><tr><td data-num="9"></td><td><pre>变量名称 <span class="token operator">=</span> <span class="token builtin">tuple</span><span class="token punctuation">(</span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><p>注意:如果元组只有一个数据,需要在这个数据后面添加逗号,否则不是元组类型</p>
<p>例如:</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>t4 <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token string">"World"</span><span class="token punctuation">,</span> <span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><p>元组也支持嵌套</p>
<p>注意:</p>
<ul>
<li>不可以修改元组的内容,否则会直接报错</li>
<li>如果元组内嵌套了 list 列表,则可以修改 list 列表的内容(修改、增加、删除元素,反转等)</li>
</ul>
<p>例如:</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>mytuple <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token string">"it"</span><span class="token punctuation">,</span> <span class="token string">"20221124"</span><span class="token punctuation">]</span><span class="token punctuation">)</span></pre></td></tr><tr><td data-num="2"></td><td><pre>mytuple<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token string">"python"</span></pre></td></tr></tbody></table></figure><h2 id="元组的方法"><a class="anchor" href="#元组的方法">#</a> 元组的方法</h2>
<h3 id="访问元素-2"><a class="anchor" href="#访问元素-2">#</a> 访问元素</h3>
<p>元组支持下标索引</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>element <span class="token operator">=</span> tuple_name<span class="token punctuation">[</span>idx<span class="token punctuation">]</span></pre></td></tr></tbody></table></figure><h3 id="查找元素-2"><a class="anchor" href="#查找元素-2">#</a> 查找元素</h3>
<p>查找指定元素的第一个匹配项</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>tuple_name<span class="token punctuation">.</span>index<span class="token punctuation">(</span>element<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="统计指定元素数量-2"><a class="anchor" href="#统计指定元素数量-2">#</a> 统计指定元素数量</h3>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>tuple_name<span class="token punctuation">.</span>count<span class="token punctuation">(</span>element<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h2 id="其他-2"><a class="anchor" href="#其他-2">#</a> 其他</h2>
<h3 id="统计元素数量"><a class="anchor" href="#统计元素数量">#</a> 统计元素数量</h3>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token builtin">len</span><span class="token punctuation">(</span>tuple_name<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="元组的-while-遍历"><a class="anchor" href="#元组的-while-遍历">#</a> 元组的 while 遍历</h3>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>idx <span class="token operator">=</span> <span class="token number">0</span></pre></td></tr><tr><td data-num="2"></td><td><pre><span class="token keyword">while</span> idx <span class="token operator"><</span> <span class="token builtin">len</span><span class="token punctuation">(</span>tuple_name<span class="token punctuation">)</span><span class="token punctuation">:</span></pre></td></tr><tr><td data-num="3"></td><td><pre> statement</pre></td></tr><tr><td data-num="4"></td><td><pre> idx <span class="token operator">+=</span> <span class="token number">1</span></pre></td></tr></tbody></table></figure><h3 id="元组的-for-遍历"><a class="anchor" href="#元组的-for-遍历">#</a> 元组的 for 遍历</h3>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token keyword">for</span> element <span class="token keyword">in</span> tuple_name<span class="token punctuation">:</span></pre></td></tr><tr><td data-num="2"></td><td><pre> statement</pre></td></tr></tbody></table></figure><h1 id="字符串"><a class="anchor" href="#字符串">#</a> 字符串</h1>
<p>字符串(str):字符串是字符的容器,一个字符串可以存放任意数量的字符</p>
<p>字符串是一个 无法修改 的数据容器</p>
<h2 id="字符串的定义"><a class="anchor" href="#字符串的定义">#</a> 字符串的定义</h2>
<p>使用一对双引号包围一系列字符</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>str_name <span class="token operator">=</span> <span class="token string">"Here is the content of string"</span></pre></td></tr></tbody></table></figure><h2 id="字符串的方法"><a class="anchor" href="#字符串的方法">#</a> 字符串的方法</h2>
<h3 id="访问元素-3"><a class="anchor" href="#访问元素-3">#</a> 访问元素</h3>
<p>字符串支持下标索引</p>
<ul>
<li>从前往后索引:下标从 0 开始</li>
<li>从后往前索引:下标从 -1 开始</li>
</ul>
<h3 id="查找子串"><a class="anchor" href="#查找子串">#</a> 查找子串</h3>
<p>查找子串 target_str 在字符串 str_name 中的下标索引值</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>str_name<span class="token punctuation">.</span>index<span class="token punctuation">(</span>target_str<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="替换子串"><a class="anchor" href="#替换子串">#</a> 替换子串</h3>
<p>将字符串 str_name 内的 str1 全部替换为 str2</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>str_name<span class="token punctuation">.</span>replace<span class="token punctuation">(</span>str1<span class="token punctuation">,</span> str2<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><p>注意,此方法并不是修改字符串本身(字符串是无法修改的),而是得到了一个新的字符串</p>
<h3 id="分割子串"><a class="anchor" href="#分割子串">#</a> 分割子串</h3>
<p>按照指定的分隔符字符串 separator,将字符串划分为多个子字符串并存入列表对象中</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>str_name<span class="token punctuation">.</span>split<span class="token punctuation">(</span>separator<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><p>注意,此方法并不是修改字符串本身,而是得到了一个列表对象</p>
<p>例如:</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>my_str <span class="token operator">=</span> <span class="token string">"hello python itheima and itcast"</span></pre></td></tr><tr><td data-num="2"></td><td><pre>result <span class="token operator">=</span> my_str<span class="token punctuation">.</span>split<span class="token punctuation">(</span><span class="token string">" "</span><span class="token punctuation">)</span> <span class="token comment"># 按照空格进行分割,得到一个列表</span></pre></td></tr></tbody></table></figure><h3 id="去除前后空格"><a class="anchor" href="#去除前后空格">#</a> 去除前后空格</h3>
<p>strip () 方法删除开头和结尾的空白字符</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>str_name<span class="token punctuation">.</span>strip<span class="token punctuation">(</span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><p>例如:</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>my_str <span class="token operator">=</span> <span class="token string">" itheima and itcast "</span></pre></td></tr><tr><td data-num="2"></td><td><pre>new_my_str <span class="token operator">=</span> my_str<span class="token punctuation">.</span>strip<span class="token punctuation">(</span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="去除前后指定字符串"><a class="anchor" href="#去除前后指定字符串">#</a> 去除前后指定字符串</h3>
<p>通过给 strip () 方法传入参数,可以删除字符串开头和结尾处的指定字符串</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>str_name<span class="token punctuation">.</span>strip<span class="token punctuation">(</span>target_str<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><p>需要注意,删除操作是按照单个字符进行的</p>
<p>例如:</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>my_str <span class="token operator">=</span> <span class="token string">"12itheima and itcast21"</span></pre></td></tr><tr><td data-num="2"></td><td><pre>new_my_str <span class="token operator">=</span> my_str<span class="token punctuation">.</span>strip<span class="token punctuation">(</span><span class="token string">"12"</span><span class="token punctuation">)</span> <span class="token comment"># 传入的是 "12",此时,"1" 和 "2" 都会移除,即,按照单个字符移除</span></pre></td></tr></tbody></table></figure><h3 id="统计指定字符串数量"><a class="anchor" href="#统计指定字符串数量">#</a> 统计指定字符串数量</h3>
<p>统计字符串中某子串的出现次数</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>str_name<span class="token punctuation">.</span>count<span class="token punctuation">(</span>target_str<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><p>例如:</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>my_str <span class="token operator">=</span> <span class="token string">"itheima and itcast"</span></pre></td></tr><tr><td data-num="2"></td><td><pre>cnt <span class="token operator">=</span> my_str<span class="token punctuation">.</span>count<span class="token punctuation">(</span><span class="token string">'it'</span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h2 id="其他-3"><a class="anchor" href="#其他-3">#</a> 其他</h2>
<h3 id="统计字符串长度"><a class="anchor" href="#统计字符串长度">#</a> 统计字符串长度</h3>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token builtin">len</span><span class="token punctuation">(</span>str_name<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="字符串的-while-遍历"><a class="anchor" href="#字符串的-while-遍历">#</a> 字符串的 while 遍历</h3>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>idx <span class="token operator">=</span> <span class="token number">0</span></pre></td></tr><tr><td data-num="2"></td><td><pre><span class="token keyword">while</span> idx <span class="token operator"><</span> <span class="token builtin">len</span><span class="token punctuation">(</span>str_name<span class="token punctuation">)</span></pre></td></tr><tr><td data-num="3"></td><td><pre> statement</pre></td></tr><tr><td data-num="4"></td><td><pre> idx <span class="token operator">+=</span> <span class="token number">1</span></pre></td></tr></tbody></table></figure><h3 id="字符串的-for-遍历"><a class="anchor" href="#字符串的-for-遍历">#</a> 字符串的 for 遍历</h3>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token keyword">for</span> element <span class="token keyword">in</span> str_name<span class="token punctuation">:</span></pre></td></tr><tr><td data-num="2"></td><td><pre> statement</pre></td></tr></tbody></table></figure><h1 id="序列"><a class="anchor" href="#序列">#</a> 序列</h1>
<p>序列是指内容连续、有序,并且可使用下标索引的一类数据容器</p>
<p>序列是字符串、元组、列表的统称</p>
<p>序列支持切片,即:从序列的指定位置开始,依次取出元素,到指定位置结束,得到一个新序列(该操作不会影响原序列,而是生成了一个新的序列)</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>sequence<span class="token punctuation">[</span>start<span class="token punctuation">:</span>end<span class="token punctuation">:</span>step<span class="token punctuation">]</span></pre></td></tr></tbody></table></figure><p>其中:</p>
<ul>
<li>起始下标 start 表示从何处开始,可以省略,省略时视为从头开始</li>
<li>结束下标 end 表示何处结束(不截取结束下标对应元素),可以省略,省略时视为截取至序列末尾(截取最后一个元素)</li>
<li>步长 step 表示依次取元素的间隔,步长可以为负数,表示反向取元素(注意,起始下标和结束下标也要反向标记)</li>
</ul>
<h1 id="集合"><a class="anchor" href="#集合">#</a> 集合</h1>
<p>集合(set):不支持元素重复(自带去重功能),并且内容无序</p>
<p>集合是无序的,不支持下标索引访问</p>
<p>集合是可以修改的</p>
<h2 id="集合的定义"><a class="anchor" href="#集合的定义">#</a> 集合的定义</h2>
<p>定义集合:使用大括号包围数据,其中,每个数据之间用逗号隔开</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token comment"># 定义集合字面量</span></pre></td></tr><tr><td data-num="2"></td><td><pre><span class="token punctuation">{</span>元素<span class="token number">1</span><span class="token punctuation">,</span> 元素<span class="token number">2</span><span class="token punctuation">,</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">}</span></pre></td></tr><tr><td data-num="3"></td><td><pre></pre></td></tr><tr><td data-num="4"></td><td><pre><span class="token comment"># 定义集合变量</span></pre></td></tr><tr><td data-num="5"></td><td><pre>变量名称 <span class="token operator">=</span> <span class="token punctuation">{</span>元素<span class="token number">1</span><span class="token punctuation">,</span> 元素<span class="token number">2</span><span class="token punctuation">,</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">}</span></pre></td></tr><tr><td data-num="6"></td><td><pre></pre></td></tr><tr><td data-num="7"></td><td><pre><span class="token comment"># 定义空集合</span></pre></td></tr><tr><td data-num="8"></td><td><pre>变量名称 <span class="token operator">=</span> <span class="token builtin">set</span><span class="token punctuation">(</span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h2 id="集合的方法"><a class="anchor" href="#集合的方法">#</a> 集合的方法</h2>
<h3 id="添加元素"><a class="anchor" href="#添加元素">#</a> 添加元素</h3>
<p>将指定元素添加到集合内</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>set_name<span class="token punctuation">.</span>add<span class="token punctuation">(</span>element<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="删除元素"><a class="anchor" href="#删除元素">#</a> 删除元素</h3>
<p>将指定元素从集合内移除</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>set_name<span class="token punctuation">.</span>remove<span class="token punctuation">(</span>element<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="随机取出元素"><a class="anchor" href="#随机取出元素">#</a> 随机取出元素</h3>
<p>从集合中随机取出一个元素(集合本身被修改,元素被移除)</p>
<p>该操作可以具有返回值</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>element <span class="token operator">=</span> set_name<span class="token punctuation">.</span>pop<span class="token punctuation">(</span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="清空集合"><a class="anchor" href="#清空集合">#</a> 清空集合</h3>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>set_name<span class="token punctuation">.</span>clear<span class="token punctuation">(</span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="取两集合的差集"><a class="anchor" href="#取两集合的差集">#</a> 取两集合的差集</h3>
<p>取出集合 1 与集合 2 的差集:元素在集合 1 中、但不在集合 2 中</p>
<p>该操作得到一个新集合,集合 1 和集合 2 保持不变</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>new_set <span class="token operator">=</span> set1<span class="token punctuation">.</span>difference<span class="token punctuation">(</span>set2<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="消除两集合的差集"><a class="anchor" href="#消除两集合的差集">#</a> 消除两集合的差集</h3>
<p>消除集合 1 与集合 2 的差集:对比集合 1 和集合 2,在集合 1 内,删除与集合 2 相同的元素</p>
<p>该操作修改了集合 2,集合 2 保持不变</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>set1<span class="token punctuation">.</span>difference_update<span class="token punctuation">(</span>set2<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="合并两集合"><a class="anchor" href="#合并两集合">#</a> 合并两集合</h3>
<p>合并 2 个集合:将集合 1 与集合 2 组成新集合</p>
<p>该操作得到一个新集合,集合 1 与集合 2 保持不变</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>new_set <span class="token operator">=</span> set1<span class="token punctuation">.</span>union<span class="token punctuation">(</span>set2<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h2 id="其他-4"><a class="anchor" href="#其他-4">#</a> 其他</h2>
<h3 id="统计集合元素数量"><a class="anchor" href="#统计集合元素数量">#</a> 统计集合元素数量</h3>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token builtin">len</span><span class="token punctuation">(</span>set_name<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="集合的遍历"><a class="anchor" href="#集合的遍历">#</a> 集合的遍历</h3>
<p>集合不支持下标索引,不能使用 while 循环遍历</p>
<p>集合可以使用 for 循环遍历</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token keyword">for</span> element <span class="token keyword">in</span> set_name</pre></td></tr><tr><td data-num="2"></td><td><pre> statement</pre></td></tr></tbody></table></figure><h1 id="字典"><a class="anchor" href="#字典">#</a> 字典</h1>
<p>字典(dict):存储键值对(即,key-value 对),可以提供基于 key 检索 value 的场景实现</p>
<p>字典不支持重复的 key ,重复添加等同于覆盖原有数据</p>
<h2 id="字典的定义"><a class="anchor" href="#字典的定义">#</a> 字典的定义</h2>
<p>使用大括号 {} 包围元素,其中,每一个元素都是一个键值对(key: value),元素之间用逗号隔开</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token comment"># 定义字典字面量</span></pre></td></tr><tr><td data-num="2"></td><td><pre><span class="token punctuation">{</span>key<span class="token punctuation">:</span> value<span class="token punctuation">,</span> key<span class="token punctuation">:</span> value<span class="token punctuation">,</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">}</span></pre></td></tr><tr><td data-num="3"></td><td><pre></pre></td></tr><tr><td data-num="4"></td><td><pre><span class="token comment"># 定义字典变量</span></pre></td></tr><tr><td data-num="5"></td><td><pre>变量名称 <span class="token operator">=</span> <span class="token punctuation">{</span>key<span class="token punctuation">:</span> value<span class="token punctuation">,</span> key<span class="token punctuation">:</span> value<span class="token punctuation">,</span> <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">}</span></pre></td></tr><tr><td data-num="6"></td><td><pre></pre></td></tr><tr><td data-num="7"></td><td><pre><span class="token comment"># 定义空字典</span></pre></td></tr><tr><td data-num="8"></td><td><pre>变量名称 <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token punctuation">}</span></pre></td></tr><tr><td data-num="9"></td><td><pre>变量名称 <span class="token operator">=</span> <span class="token builtin">dict</span><span class="token punctuation">(</span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><p>字典的 key 和 value 可以是任意数据类型(key 不可为字典)</p>
<p>因此可以将 字典 2 作为 字典 1 的 value ,实现字典的嵌套</p>
<p>例如:</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>score_dict <span class="token operator">=</span> <span class="token punctuation">{</span></pre></td></tr><tr><td data-num="2"></td><td><pre> <span class="token string">"小红"</span><span class="token punctuation">:</span> <span class="token punctuation">{</span><span class="token string">"语文"</span><span class="token punctuation">:</span> <span class="token number">77</span><span class="token punctuation">,</span> <span class="token string">"数学"</span><span class="token punctuation">:</span> <span class="token number">66</span><span class="token punctuation">,</span> <span class="token string">"英语"</span><span class="token punctuation">:</span> <span class="token number">33</span><span class="token punctuation">}</span><span class="token punctuation">,</span></pre></td></tr><tr><td data-num="3"></td><td><pre> <span class="token string">"小明"</span><span class="token punctuation">:</span> <span class="token punctuation">{</span><span class="token string">"语文"</span><span class="token punctuation">:</span> <span class="token number">88</span><span class="token punctuation">,</span> <span class="token string">"数学"</span><span class="token punctuation">:</span> <span class="token number">86</span><span class="token punctuation">,</span> <span class="token string">"英语"</span><span class="token punctuation">:</span> <span class="token number">55</span><span class="token punctuation">}</span><span class="token punctuation">,</span></pre></td></tr><tr><td data-num="4"></td><td><pre> <span class="token string">"小花"</span><span class="token punctuation">:</span> <span class="token punctuation">{</span><span class="token string">"语文"</span><span class="token punctuation">:</span> <span class="token number">99</span><span class="token punctuation">,</span> <span class="token string">"数学"</span><span class="token punctuation">:</span> <span class="token number">96</span><span class="token punctuation">,</span> <span class="token string">"英语"</span><span class="token punctuation">:</span> <span class="token number">66</span><span class="token punctuation">}</span></pre></td></tr><tr><td data-num="5"></td><td><pre><span class="token punctuation">}</span></pre></td></tr><tr><td data-num="6"></td><td><pre></pre></td></tr><tr><td data-num="7"></td><td><pre><span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"score_dict 的内容为:</span><span class="token interpolation"><span class="token punctuation">{</span>score_dict<span class="token punctuation">}</span></span><span class="token string">,类型为:</span><span class="token interpolation"><span class="token punctuation">{</span><span class="token builtin">type</span><span class="token punctuation">(</span>score_dict<span class="token punctuation">)</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span></pre></td></tr><tr><td data-num="8"></td><td><pre><span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"小红的语文成绩为:</span><span class="token interpolation"><span class="token punctuation">{</span>score_dict<span class="token punctuation">[</span><span class="token string">'小红'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token string">'语文'</span><span class="token punctuation">]</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span></pre></td></tr><tr><td data-num="9"></td><td><pre><span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"小明的数学成绩为:</span><span class="token interpolation"><span class="token punctuation">{</span>score_dict<span class="token punctuation">[</span><span class="token string">'小明'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token string">'数学'</span><span class="token punctuation">]</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span></pre></td></tr><tr><td data-num="10"></td><td><pre><span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"小花的英语成绩为:</span><span class="token interpolation"><span class="token punctuation">{</span>score_dict<span class="token punctuation">[</span><span class="token string">'小花'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token string">'英语'</span><span class="token punctuation">]</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span></pre></td></tr><tr><td data-num="11"></td><td><pre><span class="token keyword">print</span><span class="token punctuation">(</span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h2 id="字典的方法"><a class="anchor" href="#字典的方法">#</a> 字典的方法</h2>
<h3 id="访问元素-4"><a class="anchor" href="#访问元素-4">#</a> 访问元素</h3>
<p>字典同集合一样,不支持下标索引。但是,字典可以通过 key 来获取对应的 value</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>value <span class="token operator">=</span> dict_name<span class="token punctuation">[</span>key<span class="token punctuation">]</span></pre></td></tr></tbody></table></figure><h3 id="添加更新元素"><a class="anchor" href="#添加更新元素">#</a> 添加 / 更新元素</h3>
<p>新增元素 / 更新元素:如果 key 不存在,则新增元素;如果 key 存在,则更新元素(更新 value 值)</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>dict_name<span class="token punctuation">[</span>key<span class="token punctuation">]</span> <span class="token operator">=</span> value</pre></td></tr></tbody></table></figure><h3 id="删除元素-2"><a class="anchor" href="#删除元素-2">#</a> 删除元素</h3>
<p>将 key 所在键值对从字典中删除</p>
<p>该操作具有返回值,可以获取 key 所对应的 value</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>value <span class="token operator">=</span> dict_name<span class="token punctuation">.</span>pop<span class="token punctuation">(</span>key<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="清空字典"><a class="anchor" href="#清空字典">#</a> 清空字典</h3>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>dict_name<span class="token punctuation">.</span>clear<span class="token punctuation">(</span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="获取-key-列表"><a class="anchor" href="#获取-key-列表">#</a> 获取 key 列表</h3>
<p>获取全部的 key</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>keys <span class="token operator">=</span> dict_name<span class="token punctuation">.</span>keys<span class="token punctuation">(</span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><p>例如:</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>my_dict <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token string">"a"</span><span class="token punctuation">:</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token string">"b"</span><span class="token punctuation">:</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token string">"c"</span><span class="token punctuation">:</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token string">"d"</span><span class="token punctuation">:</span> <span class="token number">3</span><span class="token punctuation">}</span></pre></td></tr><tr><td data-num="2"></td><td><pre>keys <span class="token operator">=</span> my_dict<span class="token punctuation">.</span>keys<span class="token punctuation">(</span><span class="token punctuation">)</span></pre></td></tr><tr><td data-num="3"></td><td><pre><span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"通过 keys 方法获取全部的 key ,结果为:</span><span class="token interpolation"><span class="token punctuation">{</span>keys<span class="token punctuation">}</span></span><span class="token string"> ,其数据类型为:</span><span class="token interpolation"><span class="token punctuation">{</span><span class="token builtin">type</span><span class="token punctuation">(</span>keys<span class="token punctuation">)</span><span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h2 id="其他-5"><a class="anchor" href="#其他-5">#</a> 其他</h2>
<h3 id="统计元素数量-2"><a class="anchor" href="#统计元素数量-2">#</a> 统计元素数量</h3>
<p>统计字典的元素数量(一个键值对视为一个元素)</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token builtin">len</span><span class="token punctuation">(</span>dict_name<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="字典的遍历"><a class="anchor" href="#字典的遍历">#</a> 字典的遍历</h3>
<p>方式 1:获取全部的 key ,从而实现遍历</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>keys <span class="token operator">=</span> dict_name<span class="token punctuation">.</span>keys<span class="token punctuation">(</span><span class="token punctuation">)</span></pre></td></tr><tr><td data-num="2"></td><td><pre><span class="token keyword">for</span> key <span class="token keyword">in</span> keys<span class="token punctuation">:</span></pre></td></tr><tr><td data-num="3"></td><td><pre> statement</pre></td></tr></tbody></table></figure><p>方式 2:直接对字典进行 for 循环遍历,每次循环都是直接得到 key</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token keyword">for</span> key <span class="token keyword">in</span> dict_name<span class="token punctuation">:</span></pre></td></tr><tr><td data-num="2"></td><td><pre> statement</pre></td></tr></tbody></table></figure><h1 id="数据容器的通用操作"><a class="anchor" href="#数据容器的通用操作">#</a> 数据容器的通用操作</h1>
<h2 id="统计元素数量-3"><a class="anchor" href="#统计元素数量-3">#</a> 统计元素数量</h2>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token builtin">len</span><span class="token punctuation">(</span>数据容器<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h2 id="获取最大元素"><a class="anchor" href="#获取最大元素">#</a> 获取最大元素</h2>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token builtin">max</span><span class="token punctuation">(</span>数据容器<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h2 id="获取最小元素"><a class="anchor" href="#获取最小元素">#</a> 获取最小元素</h2>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token builtin">min</span><span class="token punctuation">(</span>数据容器<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h2 id="类型转换"><a class="anchor" href="#类型转换">#</a> 类型转换</h2>
<h3 id="转为列表"><a class="anchor" href="#转为列表">#</a> 转为列表</h3>
<p>将给定容器转换为列表</p>
<ul>
<li>若原容器为字符串,则将字符串中的每个字符分别作为列表的一个元素</li>
<li>若原容器为字典,则将字典的每个 key 分别作为列表的一个元素(value 被舍弃)</li>
</ul>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token builtin">list</span><span class="token punctuation">(</span>数据容器<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="转为元组"><a class="anchor" href="#转为元组">#</a> 转为元组</h3>
<p>将给定容器转换为元组</p>
<ul>
<li>若原容器为字符串,则将字符串中的每个字符分别作为元组的一个元素</li>
<li>若原容器为字典,则将字典的每个 key 分别作为元组的一个元素(value 被舍弃)</li>
</ul>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token builtin">tuple</span><span class="token punctuation">(</span>数据容器<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><h3 id="转为字符串"><a class="anchor" href="#转为字符串">#</a> 转为字符串</h3>
<p>将给定容器转换为字符串:整个容器(包括容器的组成括号)均被转换为字符串</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token builtin">str</span><span class="token punctuation">(</span>数据容器<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><p>例如:</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre>mylist <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">,</span><span class="token number">4</span><span class="token punctuation">]</span></pre></td></tr><tr><td data-num="2"></td><td><pre>mytuple <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">,</span><span class="token number">4</span><span class="token punctuation">,</span><span class="token number">5</span><span class="token punctuation">)</span></pre></td></tr><tr><td data-num="3"></td><td><pre>myset <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">,</span><span class="token number">4</span><span class="token punctuation">,</span><span class="token number">5</span><span class="token punctuation">}</span></pre></td></tr><tr><td data-num="4"></td><td><pre>mydict <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token string">"a"</span><span class="token punctuation">:</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token string">"b"</span><span class="token punctuation">:</span> <span class="token number">2</span><span class="token punctuation">}</span></pre></td></tr><tr><td data-num="5"></td><td><pre></pre></td></tr><tr><td data-num="6"></td><td><pre>str1 <span class="token operator">=</span> <span class="token builtin">str</span><span class="token punctuation">(</span>mylist<span class="token punctuation">)</span> <span class="token comment"># '[1, 2, 3, 4]'</span></pre></td></tr><tr><td data-num="7"></td><td><pre>str2 <span class="token operator">=</span> <span class="token builtin">str</span><span class="token punctuation">(</span>mytuple<span class="token punctuation">)</span> <span class="token comment"># '(1, 2, 3, 4, 5)'</span></pre></td></tr><tr><td data-num="8"></td><td><pre>str3 <span class="token operator">=</span> <span class="token builtin">str</span><span class="token punctuation">(</span>myset<span class="token punctuation">)</span> <span class="token comment"># '{2, 3, 4, 5}'</span></pre></td></tr><tr><td data-num="9"></td><td><pre>str4 <span class="token operator">=</span> <span class="token builtin">str</span><span class="token punctuation">(</span>mydict<span class="token punctuation">)</span> <span class="token comment"># "{'a': 1, 'b': 2}"</span></pre></td></tr></tbody></table></figure><h3 id="转为集合"><a class="anchor" href="#转为集合">#</a> 转为集合</h3>
<p>将给定容器转换为集合</p>
<ul>
<li>若原容器为字典,则将字典的每个 key 分别作为集合的一个元素(value 被舍弃)</li>
</ul>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token builtin">set</span><span class="token punctuation">(</span>数据容器<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><blockquote>
<p>转换为集合后,原容器的数据有序性将不再保持</p>
</blockquote>
<h2 id="排序"><a class="anchor" href="#排序">#</a> 排序</h2>
<p>将给定容器进行排序:</p>
<ul>
<li>排序的结果为列表对象(即,将给定容器的内容进行排序,并将结果放入列表中)</li>
</ul>
<p>按升序排序(默认按照升序排序):</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token builtin">sorted</span><span class="token punctuation">(</span>容器<span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><p>按降序排序:</p>
<figure class="highlight python"><figcaption data-lang="python"></figcaption><table><tbody><tr><td data-num="1"></td><td><pre><span class="token builtin">sorted</span><span class="token punctuation">(</span>容器<span class="token punctuation">,</span> reverse<span class="token operator">=</span><span class="token boolean">True</span><span class="token punctuation">)</span></pre></td></tr></tbody></table></figure><p>参考:</p>
<ul>
<li><a target="_blank" rel="noopener" href="https://www.bilibili.com/video/BV1qW4y1a7fU/">黑马程序员</a></li>
<li><a target="_blank" rel="noopener" href="https://www.w3school.com.cn/python/index.asp">W3school</a></li>
<li><a target="_blank" rel="noopener" href="https://www.runoob.com/python3/python3-tutorial.html">菜鸟教程</a></li>
</ul>
</div><footer><div class="meta"><span class="item"><span class="icon"><i class="ic i-calendar-check"></i></span><span class="text">更新于</span><time title="修改时间:2024-06-08 23:09:14" itemprop="dateModified" datetime="2024-06-08T23:09:14+08:00">2024-06-08</time></span></div><div id="copyright"><ul><li class="author"><strong>本文作者:</strong>Jiankychen<i class="ic i-at"><em>@</em></i>Jiankychen's Blog</li><li class="link"><strong>本文链接:</strong><a href="https://jiankychen.github.io/python-container.html" title="Python 数据容器">https://jiankychen.github.io/python-container.html</a></li><li class="license"><strong>版权声明:</strong>本站所有文章除特别声明外,均采用 <a target="_blank" rel="noopener" href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh"><i class="ic i-creative-commons"><em>(CC)</em></i>BY-NC-SA</a> 许可协议。转载请注明出处!</li></ul></div></footer></article></div><div class="post-nav"><div class="item left"><a href="/python-basics.html" rel="prev" itemprop="url" data-background-image="https://img.timelessq.com/images/2022/07/26/8fe50780c15461b629c9aeab5a7f2acd.jpg" title="Python 基本语法"><span class="type">上一篇</span><span class="category"><i class="ic i-flag"></i>Python</span><h3>Python 基本语法</h3></a></div><div class="item right"><a href="/job.html" rel="next" itemprop="url" data-background-image="https://i.imgtg.com/2023/03/09/Y0kTl.jpg" title="23 求职笔面试"><span class="type">下一篇</span><h3>23 求职笔面试</h3></a></div></div><div class="wrap" id="comments"></div></div><div id="sidebar"><div class="inner"><div class="panels"><div class="inner"><div class="contents panel pjax" data-title="文章目录"><ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#%E5%88%97%E8%A1%A8"><span class="toc-number">1.</span> <span class="toc-text"> 列表</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%88%97%E8%A1%A8%E7%9A%84%E5%AE%9A%E4%B9%89"><span class="toc-number">1.1.</span> <span class="toc-text"> 列表的定义</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%88%97%E8%A1%A8%E7%9A%84%E6%96%B9%E6%B3%95"><span class="toc-number">1.2.</span> <span class="toc-text"> 列表的方法</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%AE%BF%E9%97%AE%E5%85%83%E7%B4%A0"><span class="toc-number">1.2.1.</span> <span class="toc-text"> 访问元素</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%9F%A5%E6%89%BE%E5%85%83%E7%B4%A0"><span class="toc-number">1.2.2.</span> <span class="toc-text"> 查找元素</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E4%BF%AE%E6%94%B9%E5%85%83%E7%B4%A0"><span class="toc-number">1.2.3.</span> <span class="toc-text"> 修改元素</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%8F%92%E5%85%A5%E5%85%83%E7%B4%A0"><span class="toc-number">1.2.4.</span> <span class="toc-text"> 插入元素</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%BF%BD%E5%8A%A0%E5%85%83%E7%B4%A0"><span class="toc-number">1.2.5.</span> <span class="toc-text"> 追加元素</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%88%A0%E9%99%A4%E6%8C%87%E5%AE%9A%E4%BD%8D%E7%BD%AE%E5%85%83%E7%B4%A0"><span class="toc-number">1.2.6.</span> <span class="toc-text"> 删除指定位置元素</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%88%A0%E9%99%A4%E6%8C%87%E5%AE%9A%E5%85%83%E7%B4%A0"><span class="toc-number">1.2.7.</span> <span class="toc-text"> 删除指定元素</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%B8%85%E7%A9%BA%E5%88%97%E8%A1%A8"><span class="toc-number">1.2.8.</span> <span class="toc-text"> 清空列表</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E7%BB%9F%E8%AE%A1%E6%8C%87%E5%AE%9A%E5%85%83%E7%B4%A0%E6%95%B0%E9%87%8F"><span class="toc-number">1.2.9.</span> <span class="toc-text"> 统计指定元素数量</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%85%B6%E4%BB%96"><span class="toc-number">1.3.</span> <span class="toc-text"> 其他</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E7%BB%9F%E8%AE%A1%E5%88%97%E8%A1%A8%E5%85%83%E7%B4%A0%E6%95%B0%E9%87%8F"><span class="toc-number">1.3.1.</span> <span class="toc-text"> 统计列表元素数量</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%88%97%E8%A1%A8%E7%9A%84-while-%E9%81%8D%E5%8E%86"><span class="toc-number">1.3.2.</span> <span class="toc-text"> 列表的 while 遍历</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%88%97%E8%A1%A8%E7%9A%84-for-%E9%81%8D%E5%8E%86"><span class="toc-number">1.3.3.</span> <span class="toc-text"> 列表的 for 遍历</span></a></li></ol></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#%E5%85%83%E7%BB%84"><span class="toc-number">2.</span> <span class="toc-text"> 元组</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%85%83%E7%BB%84%E7%9A%84%E5%AE%9A%E4%B9%89"><span class="toc-number">2.1.</span> <span class="toc-text"> 元组的定义</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%85%83%E7%BB%84%E7%9A%84%E6%96%B9%E6%B3%95"><span class="toc-number">2.2.</span> <span class="toc-text"> 元组的方法</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%AE%BF%E9%97%AE%E5%85%83%E7%B4%A0-2"><span class="toc-number">2.2.1.</span> <span class="toc-text"> 访问元素</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%9F%A5%E6%89%BE%E5%85%83%E7%B4%A0-2"><span class="toc-number">2.2.2.</span> <span class="toc-text"> 查找元素</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E7%BB%9F%E8%AE%A1%E6%8C%87%E5%AE%9A%E5%85%83%E7%B4%A0%E6%95%B0%E9%87%8F-2"><span class="toc-number">2.2.3.</span> <span class="toc-text"> 统计指定元素数量</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%85%B6%E4%BB%96-2"><span class="toc-number">2.3.</span> <span class="toc-text"> 其他</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E7%BB%9F%E8%AE%A1%E5%85%83%E7%B4%A0%E6%95%B0%E9%87%8F"><span class="toc-number">2.3.1.</span> <span class="toc-text"> 统计元素数量</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%85%83%E7%BB%84%E7%9A%84-while-%E9%81%8D%E5%8E%86"><span class="toc-number">2.3.2.</span> <span class="toc-text"> 元组的 while 遍历</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%85%83%E7%BB%84%E7%9A%84-for-%E9%81%8D%E5%8E%86"><span class="toc-number">2.3.3.</span> <span class="toc-text"> 元组的 for 遍历</span></a></li></ol></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#%E5%AD%97%E7%AC%A6%E4%B8%B2"><span class="toc-number">3.</span> <span class="toc-text"> 字符串</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84%E5%AE%9A%E4%B9%89"><span class="toc-number">3.1.</span> <span class="toc-text"> 字符串的定义</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84%E6%96%B9%E6%B3%95"><span class="toc-number">3.2.</span> <span class="toc-text"> 字符串的方法</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%AE%BF%E9%97%AE%E5%85%83%E7%B4%A0-3"><span class="toc-number">3.2.1.</span> <span class="toc-text"> 访问元素</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%9F%A5%E6%89%BE%E5%AD%90%E4%B8%B2"><span class="toc-number">3.2.2.</span> <span class="toc-text"> 查找子串</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%9B%BF%E6%8D%A2%E5%AD%90%E4%B8%B2"><span class="toc-number">3.2.3.</span> <span class="toc-text"> 替换子串</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%88%86%E5%89%B2%E5%AD%90%E4%B8%B2"><span class="toc-number">3.2.4.</span> <span class="toc-text"> 分割子串</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%8E%BB%E9%99%A4%E5%89%8D%E5%90%8E%E7%A9%BA%E6%A0%BC"><span class="toc-number">3.2.5.</span> <span class="toc-text"> 去除前后空格</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%8E%BB%E9%99%A4%E5%89%8D%E5%90%8E%E6%8C%87%E5%AE%9A%E5%AD%97%E7%AC%A6%E4%B8%B2"><span class="toc-number">3.2.6.</span> <span class="toc-text"> 去除前后指定字符串</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E7%BB%9F%E8%AE%A1%E6%8C%87%E5%AE%9A%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%95%B0%E9%87%8F"><span class="toc-number">3.2.7.</span> <span class="toc-text"> 统计指定字符串数量</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%85%B6%E4%BB%96-3"><span class="toc-number">3.3.</span> <span class="toc-text"> 其他</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E7%BB%9F%E8%AE%A1%E5%AD%97%E7%AC%A6%E4%B8%B2%E9%95%BF%E5%BA%A6"><span class="toc-number">3.3.1.</span> <span class="toc-text"> 统计字符串长度</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84-while-%E9%81%8D%E5%8E%86"><span class="toc-number">3.3.2.</span> <span class="toc-text"> 字符串的 while 遍历</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84-for-%E9%81%8D%E5%8E%86"><span class="toc-number">3.3.3.</span> <span class="toc-text"> 字符串的 for 遍历</span></a></li></ol></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#%E5%BA%8F%E5%88%97"><span class="toc-number">4.</span> <span class="toc-text"> 序列</span></a></li><li class="toc-item toc-level-1"><a class="toc-link" href="#%E9%9B%86%E5%90%88"><span class="toc-number">5.</span> <span class="toc-text"> 集合</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E9%9B%86%E5%90%88%E7%9A%84%E5%AE%9A%E4%B9%89"><span class="toc-number">5.1.</span> <span class="toc-text"> 集合的定义</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E9%9B%86%E5%90%88%E7%9A%84%E6%96%B9%E6%B3%95"><span class="toc-number">5.2.</span> <span class="toc-text"> 集合的方法</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%B7%BB%E5%8A%A0%E5%85%83%E7%B4%A0"><span class="toc-number">5.2.1.</span> <span class="toc-text"> 添加元素</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%88%A0%E9%99%A4%E5%85%83%E7%B4%A0"><span class="toc-number">5.2.2.</span> <span class="toc-text"> 删除元素</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E9%9A%8F%E6%9C%BA%E5%8F%96%E5%87%BA%E5%85%83%E7%B4%A0"><span class="toc-number">5.2.3.</span> <span class="toc-text"> 随机取出元素</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%B8%85%E7%A9%BA%E9%9B%86%E5%90%88"><span class="toc-number">5.2.4.</span> <span class="toc-text"> 清空集合</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%8F%96%E4%B8%A4%E9%9B%86%E5%90%88%E7%9A%84%E5%B7%AE%E9%9B%86"><span class="toc-number">5.2.5.</span> <span class="toc-text"> 取两集合的差集</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%B6%88%E9%99%A4%E4%B8%A4%E9%9B%86%E5%90%88%E7%9A%84%E5%B7%AE%E9%9B%86"><span class="toc-number">5.2.6.</span> <span class="toc-text"> 消除两集合的差集</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%90%88%E5%B9%B6%E4%B8%A4%E9%9B%86%E5%90%88"><span class="toc-number">5.2.7.</span> <span class="toc-text"> 合并两集合</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%85%B6%E4%BB%96-4"><span class="toc-number">5.3.</span> <span class="toc-text"> 其他</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E7%BB%9F%E8%AE%A1%E9%9B%86%E5%90%88%E5%85%83%E7%B4%A0%E6%95%B0%E9%87%8F"><span class="toc-number">5.3.1.</span> <span class="toc-text"> 统计集合元素数量</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E9%9B%86%E5%90%88%E7%9A%84%E9%81%8D%E5%8E%86"><span class="toc-number">5.3.2.</span> <span class="toc-text"> 集合的遍历</span></a></li></ol></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#%E5%AD%97%E5%85%B8"><span class="toc-number">6.</span> <span class="toc-text"> 字典</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%AD%97%E5%85%B8%E7%9A%84%E5%AE%9A%E4%B9%89"><span class="toc-number">6.1.</span> <span class="toc-text"> 字典的定义</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%AD%97%E5%85%B8%E7%9A%84%E6%96%B9%E6%B3%95"><span class="toc-number">6.2.</span> <span class="toc-text"> 字典的方法</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%AE%BF%E9%97%AE%E5%85%83%E7%B4%A0-4"><span class="toc-number">6.2.1.</span> <span class="toc-text"> 访问元素</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%B7%BB%E5%8A%A0%E6%9B%B4%E6%96%B0%E5%85%83%E7%B4%A0"><span class="toc-number">6.2.2.</span> <span class="toc-text"> 添加 / 更新元素</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%88%A0%E9%99%A4%E5%85%83%E7%B4%A0-2"><span class="toc-number">6.2.3.</span> <span class="toc-text"> 删除元素</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%B8%85%E7%A9%BA%E5%AD%97%E5%85%B8"><span class="toc-number">6.2.4.</span> <span class="toc-text"> 清空字典</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%8E%B7%E5%8F%96-key-%E5%88%97%E8%A1%A8"><span class="toc-number">6.2.5.</span> <span class="toc-text"> 获取 key 列表</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%85%B6%E4%BB%96-5"><span class="toc-number">6.3.</span> <span class="toc-text"> 其他</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E7%BB%9F%E8%AE%A1%E5%85%83%E7%B4%A0%E6%95%B0%E9%87%8F-2"><span class="toc-number">6.3.1.</span> <span class="toc-text"> 统计元素数量</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%AD%97%E5%85%B8%E7%9A%84%E9%81%8D%E5%8E%86"><span class="toc-number">6.3.2.</span> <span class="toc-text"> 字典的遍历</span></a></li></ol></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#%E6%95%B0%E6%8D%AE%E5%AE%B9%E5%99%A8%E7%9A%84%E9%80%9A%E7%94%A8%E6%93%8D%E4%BD%9C"><span class="toc-number">7.</span> <span class="toc-text"> 数据容器的通用操作</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%BB%9F%E8%AE%A1%E5%85%83%E7%B4%A0%E6%95%B0%E9%87%8F-3"><span class="toc-number">7.1.</span> <span class="toc-text"> 统计元素数量</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E8%8E%B7%E5%8F%96%E6%9C%80%E5%A4%A7%E5%85%83%E7%B4%A0"><span class="toc-number">7.2.</span> <span class="toc-text"> 获取最大元素</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E8%8E%B7%E5%8F%96%E6%9C%80%E5%B0%8F%E5%85%83%E7%B4%A0"><span class="toc-number">7.3.</span> <span class="toc-text"> 获取最小元素</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2"><span class="toc-number">7.4.</span> <span class="toc-text"> 类型转换</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%BD%AC%E4%B8%BA%E5%88%97%E8%A1%A8"><span class="toc-number">7.4.1.</span> <span class="toc-text"> 转为列表</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%BD%AC%E4%B8%BA%E5%85%83%E7%BB%84"><span class="toc-number">7.4.2.</span> <span class="toc-text"> 转为元组</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%BD%AC%E4%B8%BA%E5%AD%97%E7%AC%A6%E4%B8%B2"><span class="toc-number">7.4.3.</span> <span class="toc-text"> 转为字符串</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E8%BD%AC%E4%B8%BA%E9%9B%86%E5%90%88"><span class="toc-number">7.4.4.</span> <span class="toc-text"> 转为集合</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E6%8E%92%E5%BA%8F"><span class="toc-number">7.5.</span> <span class="toc-text"> 排序</span></a></li></ol></li></ol></div><div class="related panel pjax" data-title="系列文章"><ul><li><a href="/python-basics.html" rel="bookmark" title="Python 基本语法">Python 基本语法</a></li><li class="active"><a href="/python-container.html" rel="bookmark" title="Python 数据容器">Python 数据容器</a></li><li><a href="/python-files.html" rel="bookmark" title="Python 文件操作">Python 文件操作</a></li><li><a href="/python-modules.html" rel="bookmark" title="Python 异常、模块、包">Python 异常、模块、包</a></li><li><a href="/python-conda.html" rel="bookmark" title="conda 常用命令">conda 常用命令</a></li><li><a href="/python-pandas.html" rel="bookmark" title="pandas 基础">pandas 基础</a></li><li><a href="/python-oop.html" rel="bookmark" title="Python 面向对象">Python 面向对象</a></li></ul></div><div class="overview panel" data-title="站点概览"><div class="author" itemprop="author" itemscope="itemscope" itemtype="http://schema.org/Person"><img class="image" loading="lazy" decoding="async" itemprop="image" alt="Jiankychen" src="/assets/avatar.webp"><p class="name" itemprop="name">Jiankychen</p><div class="description" itemprop="description"></div></div><nav class="state"><div class="item posts"><a href="/archives/"><span class="count">51</span><span class="name">文章</span></a></div><div class="item categories"><a href="/categories/"><span class="count">8</span><span class="name">分类</span></a></div><div class="item tags"><a href="/tags/"><span class="count">20</span><span class="name">标签</span></a></div></nav><div class="social"><a target="_blank" rel="noopener" href="https://github.com/jiankychen" class="item github" title="https://github.com/jiankychen"><i class="ic i-github"></i></a><a href="mailto:[email protected]" class="item email" title="mailto:[email protected]"><i class="ic i-envelope"></i></a><a target="_blank" rel="noopener" href="https://music.163.com/#/user/home?id=447771275" class="item music" title="https://music.163.com/#/user/home?id=447771275"><i class="ic i-cloud-music"></i></a><a target="_blank" rel="noopener" href="https://www.zhihu.com/people/jiankychen" class="item zhihu" title="https://www.zhihu.com/people/jiankychen"><i class="ic i-zhihu"></i></a></div><div class="menu"><li class="item"><a href="/" rel="section"><i class="ic i-home"></i>首页</a></li><li class="item dropdown"><a href="#" onclick="return false;"><i class="ic i-feather"></i>文章</a><ul class="submenu"><li class="item"><a href="/archives/" rel="section"><i class="ic i-list-alt"></i>归档</a></li><li class="item"><a href="/categories/" rel="section"><i class="ic i-th"></i>分类</a></li><li class="item"><a href="/tags/" rel="section"><i class="ic i-tags"></i>标签</a></li></ul></li><li class="item dropdown"><a href="#" onclick="return false;"><i class="ic i-feather"></i>链接</a><ul class="submenu"><li class="item"><a href="/peers/" rel="section"><i class="ic i-magic"></i>链环</a></li><li class="item"><a href="/friends/" rel="section"><i class="ic i-heart"></i>友链</a></li></ul></li><li class="item dropdown"><a href="#" onclick="return false;"><i class="ic i-stars"></i>关于</a><ul class="submenu"><li class="item"><a href="/owner/" rel="section"><i class="ic i-user"></i>关于博主</a></li><li class="item"><a href="/site/" rel="section"><i class="ic i-paw"></i>关于本站</a></li><li class="item"><a href="/update/" rel="section"><i class="ic i-cloud"></i>更新日志</a></li></ul></li></div></div></div></div><ul id="quick"><li class="prev pjax"><a href="/job.html" rel="prev" title="上一篇"><i class="ic i-chevron-left"></i></a></li><li class="up"><i class="ic i-arrow-up"></i></li><li class="down"><i class="ic i-arrow-down"></i></li><li class="next pjax"><a href="/python-basics.html" rel="next" title="下一篇"><i class="ic i-chevron-right"></i></a></li><li class="percent"></li></ul></div></div><div class="dimmer"></div></div></main><footer id="footer"><div class="inner"><div class="widgets"><div class="rpost pjax"><h2>随机文章</h2><ul><li class="item"><div class="breadcrumb"><a href="/categories/Tutorial/" title="分类于Tutorial">Tutorial</a><i class="ic i-angle-right"></i><a href="/categories/Tutorial/LaTeX/" title="分类于LaTeX">LaTeX</a></div><span><a href="/latex-citation.html">LaTeX:跨 tex 文件的交叉引用</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/Data-Structure/" title="分类于Data Structure">Data Structure</a></div><span><a href="/binary-tree.html">二叉树</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/Data-Structure/" title="分类于Data Structure">Data Structure</a></div><span><a href="/date-structure.html">数据结构简介</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/Data-Structure/" title="分类于Data Structure">Data Structure</a></div><span><a href="/sort-algorithm.html">排序</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/SQL/" title="分类于SQL">SQL</a></div><span><a href="/sql-basics.html">SQL 基础</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/Data-Structure/" title="分类于Data Structure">Data Structure</a></div><span><a href="/binary-search.html">二分查找</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/Coding/" title="分类于Coding">Coding</a></div><span><a href="/leetcode-doublepointer.html">LeetCode - 双指针专题</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/C/" title="分类于C++">C++</a></div><span><a href="/cpp-statement.html">C++ 语句</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/Data-Structure/" title="分类于Data Structure">Data Structure</a></div><span><a href="/KMP.html">KMP 算法</a></span></li><li class="item"><div class="breadcrumb"><a href="/categories/Tutorial/" title="分类于Tutorial">Tutorial</a></div><span><a href="/vscode-intro.html">vscode 使用</a></span></li></ul></div><div class="rpost pjax"><h2>最新评论</h2><ul class="leancloud-recent-comment" id="new-comment"></ul></div></div><div class="status"><div class="copyright">© 2021 -<span itemprop="copyrightYear">2024</span><span class="with-love"><i class="ic i-sakura rotate"></i></span><span class="author" itemprop="copyrightHolder">Jiankychen @ Jiankychen</span></div><div class="count"><span class="post-meta-item-icon"><i class="ic i-chart-area"></i></span><span title="站点总字数">955k 字</span><span class="post-meta-divider"> | </span><span class="post-meta-item-icon"><i class="ic i-coffee"></i></span><span title="站点阅读时长">14:28</span></div><div class="powered-by">基于 <a target="_blank" rel="noopener" href="https://hexo.io/">Hexo</a> & Theme.<a target="_blank" rel="noopener" href="https://github.com/theme-shoka-x/hexo-theme-shokaX/">ShokaX</a></div></div><script src="https://unpkg.com/[email protected]/bsz.pure.mini.js"></script><div id="busuanzi-wrap"><span class="ic i-eye"></span><span id="busuanzi_container_site_pv">本站总访问量 <span id="busuanzi_value_site_pv"></span> 次</span> | <span class="ic i-user"></span><span id="busuanzi_container_site_uv">本站总访客量 <span id="busuanzi_value_site_uv"></span> 次</span></div></div></footer></div><script data-config="" type="text/javascript">var LOCAL = {
ispost: true,
path: `/python-container`,
favicon: {
show: `Jiankychen`,
hide: `Jiankychen`
},
search: {
placeholder: "文章搜索",
empty: "关于 「 ${query} 」,什么也没搜到",
stats: "${time} ms 内找到 ${hits} 条结果"
},
copy_tex: false,
katex: false,
mermaid: false,
audio: undefined,
fancybox: true,
nocopy: false,
outime: true,
template: `<div class="note warning"><p><span class="label warning">文章时效性提示</span><br>这是一篇发布于 {{publish}} 天前,最后一次更新在 {{updated}} 天前的文章,部分信息可能已经发生改变,请注意甄别。</p></div>`,
quiz: {
choice: `单选题`,
multiple: `多选题`,
true_false: `判断题`,
essay: `问答题`,
gap_fill: `填空题`,
mistake: `错题备注`
},
ignores: [
(uri) => uri.includes('#'),
(uri) => new RegExp(LOCAL.path + '$').test(uri),
[]
]
};
</script><script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-6-M/pace/1.2.4/pace.min.js" async=""></script><script src="https://polyfill.io/v3/polyfill.min.js?features=default,fetch" defer=""></script><script src="/js/siteInit.js?v=0.4.2" type="module" fetchpriority="high" defer=""></script></body></html>