python中的列表推导浅析

 更新时间:2014年04月26日 11:04:45   作者:  
这篇文章主要介绍了python中的列表推导,需要的朋友可以参考下

列表推导(List comprehension)的作用是为了更方便地生成列表(list)。

比如,一个list变量的元素均为数字,如果需要将每个元素的值乘以2并生成另外一个list,下面是一种做法:

复制代码 代码如下:

#-*-encoding:utf-8-*-

list1 = [1,2,4,5,12]
list2 = []
for item in list1:
    list2.append(item*2)
print list2


如果使用列表推导,可以这样:
复制代码 代码如下:

#-*-encoding:utf-8-*-

list1 = [1,2,4,5,12]
list2 = [item*2 for item in list1 ]
print list2


可以通过if过滤掉不想要的元素,例如提取出list1中小于10的元素:
复制代码 代码如下:

#-*-encoding:utf-8-*-

list1 = [1,2,4,5,12]
list2 = [item for item in list1 if item < 10 ]
print list2


如果要将两个list中的元素进行组合,可以:
复制代码 代码如下:

#-*-encoding:utf-8-*-

list1 = [1,2,3]
list2 = [4,5,6]
list3 = [(item1,item2) for item1 in list1 for item2 in list2 ]
print list3


官方文档中给出了一个比较复杂的转置矩阵的例子:
复制代码 代码如下:

#-*-encoding:utf-8-*-

matrix1 = [
          [1, 2, 3, 4],
          [5, 6, 7, 8],
          [9, 10, 11, 12]
          ]
matrix2 = [[row[i] for row in matrix1] for i in range(4)]
for row in matrix2:
    print row


运行结果如下:
复制代码 代码如下:

[1, 5, 9]
[2, 6, 10]
[3, 7, 11]
[4, 8, 12]

相关文章

  • Pytorch实现的手写数字mnist识别功能完整示例

    Pytorch实现的手写数字mnist识别功能完整示例

    这篇文章主要介绍了Pytorch实现的手写数字mnist识别功能,结合完整实例形式分析了Pytorch模块手写字识别具体步骤与相关实现技巧,需要的朋友可以参考下
    2019-12-12
  • 详解Python中的分组函数groupby和itertools)

    详解Python中的分组函数groupby和itertools)

    这篇文章主要介绍了Python中的分组函数groupby和itertools)的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-07-07
  • Python self用法详解

    Python self用法详解

    这篇文章主要介绍了Python self用法的相关资料,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-11-11
  • 简单几步教你学会Python接口自动化测试

    简单几步教你学会Python接口自动化测试

    这篇文章主要介绍了简单几步教你学会Python接口自动化测试,本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势,期望读者可以通过本文对接口自动化测试有一个大致的了解,需要的朋友可以参考下
    2023-08-08
  • Python日期时间对象转换为字符串的实例

    Python日期时间对象转换为字符串的实例

    今天小编就为大家分享一篇Python日期时间对象转换为字符串的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 基于python的MD5脚本开发思路

    基于python的MD5脚本开发思路

    这篇文章主要介绍了基于python的MD5脚本,通过 string模块自动生成字典,使用permutations()函数,对字典进行全排列,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • Python中pow()和math.pow()函数用法示例

    Python中pow()和math.pow()函数用法示例

    这篇文章主要介绍了Python中pow()和math.pow()函数用法,结合具体实例形式分析了Python使用pow()和math.pow()函数进行幂运算的相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • 关于Django使用 django-celery-beat动态添加定时任务的方法

    关于Django使用 django-celery-beat动态添加定时任务的方法

    本文给大家介绍Django使用 django-celery-beat动态添加定时任务的方法,安装对应的是celery版本,文中给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-10-10
  • python实现各进制转换的总结大全

    python实现各进制转换的总结大全

    这篇文章主要给大家总结了python实现各进制转换的相关资料,其中包括字符串与十六进制转换、内置函数hex()与进制互转等相关内容,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-06-06
  • 十行代码使用Python写一个USB病毒

    十行代码使用Python写一个USB病毒

    本文给大家分享一个基于十行代码使用Python写一个USB病毒,很简单,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06

最新评论