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