zoukankan      html  css  js  c++  java
  • 列表生成表达式语法

    列表生成式的语法:

    #循环for... in...一次,执行一次expression表达式,

    #for in 循环,满足condition条件判断,执行左侧expression

    [expression for item1 in iterable1 if condition1

                    for item2 in iterable2 if condition2

                    ...

                    for itemN in iterableN if conditionN

                     ]

    类似于

    res=[]
    
    for item1 in iterable1:
    
         if condition1:
            for item2 in iterable2:
                if condition2
                 ...
                    for itemN in iterableN:
        
                        if conditionN:
                           res.append(expression)
    

      

    生成表达式:

    (expression for item1 in iterable1 if condition1
    
                    for item2 in iterable2 if condition2
    
                    ...
    
                    for itemN in iterableN if conditionN
    
                     )
    

    优点:省内存,一次值产生一个值在内存中

    应用:读取一个大文件的所有内容,并处理行

    f=open('a.txt')

    g=(line.strip()  for line in f)

    list(g)  #因g可迭代,因而可以转成列表

  • 相关阅读:
    Combination Sum
    Partition List
    Binary Tree Zigzag Level Order Traversal
    Unique Binary Search Trees II
    Count and Say
    Triangle
    3Sum Closest
    Search for a Range
    Longest Common Prefix
    Convert Sorted List to Binary Search Tree
  • 原文地址:https://www.cnblogs.com/catherine007/p/8321835.html
Copyright © 2011-2022 走看看