列表映射是个非常有用的方法,通过对列表的每个元素应用一个函数来转换数据,可以使用一种策略或者方法来遍历计算每个元素。
例如:
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> |