Heim  >  Fragen und Antworten  >  Hauptteil

Was bedeutet Python? Die Syntax ist etwas seltsam?

filelist = [x for x in os.listdir() if os.path.isfile(x)]
怪我咯怪我咯2675 Tage vor677

Antworte allen(4)Ich werde antworten

  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-22 11:54:31

    相当于:

    filelist = []
    for x in os.listdir():
        if os.path.isfile(x):
            filelist.append(x)
        

    这是列表解析的内容.

    Antwort
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-22 11:54:31

    列表生成式
    相当于。os.listdir()需要一个参数,你要得到哪个路径下的list。

    
    In [54]: filelist = []
    
    In [55]: for x in os.listdir("."):
        ...:     if os.path.isfile(x):
        ...:         filelist.append(x)
        ...:
    
    In [56]:
    

    使用列表生成式比[].append() 快一点。你可以使用大批量的测试一下。为什么快呢。python listobject 模型的机制有关系,有时间可以读读python 源码,C语言写的

    Antwort
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-22 11:54:31

    定义:
    列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表。

    规范:
    variable = [out_exp for out_exp in input_list if out_exp == 2]

    例子:
    multiples = [i for i in range(30) if i % 3 is 0]
    print(multiples)

    Output: [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

    场景:
    循环中的逻辑比较简单时可用推导式代替,以增加代码可读性和洁癖

    Antwort
    0
  • 为情所困

    为情所困2017-06-22 11:54:31

    列表推导式
    列表生成式

    顺序如下:

    Antwort
    0
  • StornierenAntwort