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()]
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()]
相关文章推荐
- python中的列表推导式——轻量级循环
- Python列表推导式——轻量级循环
- Python列表推导式---轻量级循环
- python 列表推导式 - 轻量级循环
- python 列表推导式----轻量级循环
- Python: 列表推导式--轻量级循环
- python 列表推导式----轻量级循环
- python列表推导式-轻量级循环
- Python基础教程代码与注释P82 5.6 列表推导式——轻量级循环
- python 列表推导式----轻量级循环
- Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)
- 【Python】Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)
- Python列表生成器的循环技巧分享
- Python(5)使用for...in循环和列表推导式打印一个99乘法表
- python-列表推倒式-轻量级循环
- Python的基本语法,涵盖数据类型、循环判断、列表、map和set等
- 列表推导式--轻量级循环
- Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)
- 列表推导式--轻量级循环
- Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)