python 映射列表 学习

时间:2024-08-05 08:36:50

列表映射是个非常有用的方法,通过对列表的每个元素应用一个函数来转换数据,可以使用一种策略或者方法来遍历计算每个元素。

例如:

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
params = {"server":"mpilgrim", \
                "database":"master", \
                "uid":"sa", \
                "pwd":"secret" \
                }
print ["%s=%s" % (k, params[k]) for k in params.keys()]
print ';'.join(["%s=%s" % (k, params[k]) for k in params.keys()])
返回结果为:
返回结果为:
['uid=sa', 'pwd=secret', 'database=master', 'server=mpilgrim']
还可以改进下,把元组转化成字符串,使用join函数方法。
'uid=sa;pwd=secret;database=master;server=mpilgrim'
(join函数不仅使用于元组还使用于列表,功能是字符串化)
split跟join相反,把字符串转换成元组
看如下应用
<pre name="code" class="python">>>> <span style="font-family: Arial, Helvetica, sans-serif;">str = 'server=mpilgrim;uid=sa;database=master;pwd=secret'</span></pre>>>> str.split(';')<br>
['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']<br>
>>> str.split(';', 1)<br>
['server=mpilgrim', 'uid=sa;database=master;pwd=secret']<br>
>>> str.split(';', 2)<br>
['server=mpilgrim', 'uid=sa', 'database=master;pwd=secret']
<pre class="brush:java;"></pre>
<p></p>
<p><br>
</p>
<p><strong>列表映射用例:</strong></p>
<pre class="brush:java;"><pre class="brush:java;">>>> li = [1, 9, 8, 4]
>>> [elem*2 for elem in li] 1
[2, 18, 16, 8]
>>> li
[1, 9, 8, 4]
</pre><br><br></pre>
<br>