Python_映射List

List 解析

Python 对 list 进行解析,它提供一种紧凑的方法,可以通过对 list 中的每个元素应用一个函数,从而将一个 list 映射为另一个 list。

>>> li = [1, 9, 8, 4]

>>> [elem*2 for elem in li]#对每个元素均执行如下操作:首先临时将其值赋给变量 elem,然后 Python 应用函数 elem*2 进行计算,最后将计算结果追加到要返回的 list 中。

[2, 18, 16, 8]

>>> li

[1, 9, 8, 4] #需要注意是,对 list 的解析并不改变原始的 list。

>>> li = [elem*2 for elem in li] 3

>>> li

[2, 18, 16, 8]

 

>>> li = ["1","2","3"]

>>> li

['1', '2', '3']

>>> [item*2 for item in li] #对字符串进行乘法运算,会使元素内容增长原有内容

['11', '22', '33']

 

keys, values 和 items 函数

>>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}

>>> params.keys()  # Dictionary 的 keys 方法返回一个包含所有键的 list

['server', 'uid', 'database', 'pwd']

>>> params.values()  # values 方法返回一个包含所有值的 list,它同 keys 方法返回的 list 输出顺序相同,所以对于所有的 n,params.values()[n] == params[params.keys()[n]] 

['mpilgrim', 'sa', 'master', 'secret']

>>> params.items()  #items 方法返回一个由形如 (key,value) 组成的 tuple 的 list

[('server', 'mpilgrim'), ('uid', 'sa'), ('database', 'master'), ('pwd', 'secret')]

>>> [k for k, v in params.items()]   # 忽略了返回 list 中 v 的值,而只包含了 k 的值,所以这个 list 解析最后等于 params.keys()

['server', 'uid', 'database', 'pwd']

>>> [v for k, v in params.items()] 

['mpilgrim', 'sa', 'master', 'secret']

>>> ["%s=%s" % (k, v) for k, v in params.items()] 

['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值