如果我有一个迭代器it
并且想要耗尽它我可以写:
for x in it:
pass
Run Code Online (Sandbox Code Playgroud)
是否有内置或标准的库调用,允许我在单行中进行?我当然可以这样做:
list(it)
Run Code Online (Sandbox Code Playgroud)
这将从迭代器构建一个列表然后丢弃它.但我认为由于列表构建步骤效率低下.为自己编写一个帮助函数来执行空的for循环当然是微不足道的但是如果我还缺少其他东西我很好奇.
这是我使用F#的第一个小时,在Ubuntu Linux(14.04)上玩它但是我迷失了如何在nuget中包含安装依赖项.我nuget.exe
在Mono上工作得很好,我可以nuget install
打包; 它们落在我当前的目录中.但是我无法从我的example.fs
文件中导入或打开它们.我尝试了各种选择但无济于事.我需要编写项目文件还是使用FAKE?我找不到任何详细说明设置简单项目的最小必要步骤的教程.
那么我需要做什么来访问我用nuget安装的依赖项?
我正在使用couchdb和推荐的"couchdbkit"python包.我觉得它有点慢,决定做一些测量.如果我没有做错什么,那么使用流行的"请求"包比通过couchdbkit快10倍.为什么?
这是我使用的计时脚本:
from time import time as now
from pprint import pprint
class Timer:
def __init__(self):
self.current = now()
def __call__(self, msg):
snap = now()
duration = snap - self.current
self.current = snap
pprint("%.3f duration -- %s" %(duration, msg))
def requests(num):
t = Timer()
import requests
for i in range(num):
r = requests.get("http://127.0.0.1:8001/releases/_design/access/_view/yieldlinks")
assert r.status_code == 200
r.json # make sure the json is there
t("requests: %d" % (num,))
def couchdbkit(num):
import couchdbkit
t = Timer()
server = couchdbkit.Server("http://127.0.0.1:8001")
releases …
Run Code Online (Sandbox Code Playgroud)