您的位置:首页 > 编程语言 > Python开发

Python实用技巧---列表推导式(轻量级循环)与map

2014-11-19 18:50 726 查看
list comprehension是利用其他列表创建新列表,可以联合多个循环语句一起使用,非常简洁高效。常见如下:

1, [x for x in xrange(100) if x % 3 == 0],取出符合条件的元素并生成一个列表

2, [(x, y) for x in xrange(10) for y in xrange(10)] ,取代传统的二维循环。

3, groupList = [{'groupId': key, 'groupName': value['groupName']} for key, value in rawList.iteritems()],传统写法一般是

for key, value in ranList.iteritems():

groupList.append({'groupId': key, 'groupName': value['groupName']})

map(func, list)可以将list中的元素全部传递给func函数,然后生成执行结果的数组。如

def func(x):

return x.isalnum()

list = ['foo', 'x41', '?!', '****']

执行 map(func, list)返回 [True, True, False, False]

而使用filter跟map一样,可以用来过滤得到符合条件的元素。

执行 filter(func, list) 返回 ['foo', 'x41']

而其他的写法还有,

filter(lambda x: x.isalnum(), list)

[x for x in list if x.isalnum()]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: