详细说明以下内容

时间:2015-12-28 19:29:53

标签: python

我发现这篇文章: How to list all files of a directory?

具体是:

from os import listdir
from os.path import isfile, join
onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]

我还在学习python,我在代码中使用了这一行来处理工作中的某些内容,我想了解一下, 特别是“f为f”。 为什么同一个变量被调用两次? 谢谢!

2 个答案:

答案 0 :(得分:0)

可以很容易地说x for x。它只是意味着为每个ff列出in值列表if目录列表 ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2); String username = "mydomain\\username"; String password = "mypassword"; String exchangeServer = "myserver"; String domain = "mydomain"; boolean performAutodiscovery = false; ExchangeCredentials credentials = new WebCredentials(username, password, domain); service.setCredentials(credentials); try { service.setUrl(new URI("https://" + exchangeServer + "/EWS/Exchange.asmx")); } catch(Exception e) { } 它是一个文件。

答案 1 :(得分:0)

它不是“被叫两次”。这就是你如何编写列表理解。我们可以将这个列表理解“展开”为for循环,以便更容易理解:

src = [-1, -2, 0, 1, 2]
out = [i*2 for i in src if i > 0]
print(out)  # [2, 4]

说明:

192.168.7.2:1234

列表推导的一般规则,如果您正在迭代源列表(或某些可迭代的),以某种方式修改该源中的每个元素或确保它在将其附加到新的输出列表之前满足某些条件。

另一个例子,你想从源列表中删除所有非正数,并将所有正数加倍:

port 80