列表映射是个非常有用的方法,通过对列表的每个元素应用一个函数来转换数据,可以使用一种策略或者方法来遍历计算每个元素。
例如:
?
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])fork in params.keys()]
print';'.join(["%s=%s"% (k, params[k])fork 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']
<preclass="brush:java;"></pre>
<p></p>
<p><br>
</p>
<p><strong>列表映射用例:</strong></p>
<preclass="brush:java;"><preclass="brush:java;">>>> li = [1,9,8,4]
>>> [elem*2forelem in li]1
[2,18,16,8]
>>> li
[1,9,8,4]
</pre><br><br></pre>
<br>