-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfluent-python-02.html
executable file
·176 lines (135 loc) · 7.07 KB
/
fluent-python-02.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
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>kizzy的个人博客 - 流畅的python-序列结构</title>
<meta name="description" content="">
<meta name="author" content="kizzy">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
<!--[if lt IE 9]>
<script src="https://kuikui.tech/theme/html5.js"></script>
<![endif]-->
<!-- Le styles -->
<link href="https://kuikui.tech/theme/bootstrap.min.css" rel="stylesheet">
<link href="https://kuikui.tech/theme/bootstrap.min.responsive.css" rel="stylesheet">
<link href="https://kuikui.tech/theme/local.css" rel="stylesheet">
<link href="https://kuikui.tech/theme/pygments.css" rel="stylesheet">
<!-- So Firefox can bookmark->"abo this site" -->
<link href="https://kuikui.tech/feeds/all.atom.xml" rel="alternate" title="kizzy的个人博客" type="application/atom+xml">
</head>
<body>
<div class="navbar">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="https://kuikui.tech">kizzy的个人博客</a>
<div class="nav-collapse">
<ul class="nav">
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="content">
<div class="row">
<div class="span9">
<div class='article'>
<div class="content-title">
<h1>流畅的python-序列结构</h1>
Sat 13 June 2020
by <a class="url fn" href="https://kuikui.tech/author/kizzy.html">kizzy</a>
</div>
<div><p>对于处理序列数据,无论是哪种数据结构,他们共用一套丰富的操作:迭代,切片,排序,还有拼接。</p>
<p>python标准库用C实现了丰富的序列类型:
容器序列: list、tuple以及collection.deque可以存放不同的类型的数据。
扁平序列:str、bytes以及bytearray,memmoryview和array.array,这类序列只能容纳一种类型。
容器序列存放的是他们包含的任意类型的对象的引用,而扁平序列存放的是值而不是引用。
可变序列:list, bytearray, array.array, collections.deque和memoryview
不可变序列: tuple, str 和 bytes</p>
<p>列表推导:a = [b for b in b] python2中会修改b的值为b[-1], 而python3的局部作用域不会。
生成笛卡尔积的eg: a = [(b,c) for b in b for c in c]
生成器表达式: tuple(), 生成器表达式逐个产出元素,不会一次性产出多个列表。</p>
<p>Python sort的原理:非数字的字符排序: key = str.lower / key = len,bisect和insort使用二分查找有序序列来查找和插入。
这章好无聊。。。。。。。。。。。。。</p></div>
<hr>
<a href="https://twitter.com/share" class="twitter-share-button" data-text="流畅的python-序列结构" data-via="YXTkbHci1iEWgAM">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<h2>Comments</h2>
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_shortname = 'kuikui';
var disqus_title = '流畅的python-序列结构';
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
</div>
</div>
<div class="span3">
<div class="well" style="padding: 8px 0; background-color: #FBFBFB;">
<ul class="nav nav-list">
<li class="nav-header">
Site
</li>
<li><a href="https://kuikui.tech/archives.html">Archives</a>
<li><a href="https://kuikui.tech/tags.html">Tags</a>
<li><a href="https://kuikui.tech/feeds/all.atom.xml" rel="alternate">Atom feed</a></li>
</ul>
</div>
<div class="well" style="padding: 8px 0; background-color: #FBFBFB;">
<ul class="nav nav-list">
<li class="nav-header">
Categories
</li>
<li><a href="https://kuikui.tech/category/gan-xiang-yu-ji-lu.html">感想与记录</a></li>
<li><a href="https://kuikui.tech/category/ji-qi-xue-xi.html">机器学习</a></li>
<li><a href="https://kuikui.tech/category/lei-bie.html">类别</a></li>
<li><a href="https://kuikui.tech/category/python.html">python</a></li>
<li><a href="https://kuikui.tech/category/shua-ti-bi-ji.html">刷题笔记</a></li>
<li><a href="https://kuikui.tech/category/sui-xiang.html">随想</a></li>
<li><a href="https://kuikui.tech/category/yue-du-bi-ji.html">阅读笔记</a></li>
<li><a href="https://kuikui.tech/category/yun-wei.html">运维</a></li>
</ul>
</div>
<div class="well" style="padding: 8px 0; background-color: #FBFBFB;">
<ul class="nav nav-list">
<li class="nav-header">
Links
</li>
<li><a href="https://github.com/kk456852/">Github</a></li>
<li><a href="https://twitter.com/YXTkbHci1iEWgAM/">twitter</a></li>
<li><a href="https://kuikui.tech/">blog</a></li>
</ul>
</div>
<div class="social">
<div class="well" style="padding: 8px 0; background-color: #FBFBFB;">
<ul class="nav nav-list">
<li class="nav-header">
Social
</li>
<li><a href="https://mahaoqu.github.io/">Teacher Ma</a></li>
<li><a href="#">虚位以待</a></li>
</ul>
</div>
</div>
</div>
</div> </div>
<footer>
<br />
<p><a href="https://kuikui.tech">kizzy的个人博客</a> © kizzy 2020</p>
</footer>
</div> <!-- /container -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="https://kuikui.tech/theme/bootstrap-collapse.js"></script>
<script>var _gaq=[['_setAccount','UA-158839315-1'],['_trackPageview']];(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.src='//www.google-analytics.com/ga.js';s.parentNode.insertBefore(g,s)}(document,'script'))</script>
</body>
</html>