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