有没有办法可以从列表中获取前10个结果.这样的事情可能是:
list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
list.fetch(10)
Run Code Online (Sandbox Code Playgroud)
?
我已经制作了一个生成器来逐字读取文件,它运行良好.
def word_reader(file):
for line in open(file):
for p in line.split():
yield p
reader = word_reader('txtfile')
next(reader)
Run Code Online (Sandbox Code Playgroud)
在列表中获取n个下一个值的最简单方法是什么?
请问有人请告诉我这段代码我做错了什么?无论如何,它只是打印'计数'.我只想要一个非常简单的素数发生器(没什么特别的).
import math
def main():
count = 3
one = 1
while one == 1:
for x in range(2, int(math.sqrt(count) + 1)):
if count % x == 0:
continue
if count % x != 0:
print count
count += 1
Run Code Online (Sandbox Code Playgroud) 我正在研究一种算法。但是作者提供的haskell代码我不是很清楚,所以我需要你们的帮助。我认为代码可以分为两部分。
> type LFT = (Integer, Integer, Integer, Integer)
>
> extr :: LFT -> Integer -> Rational
> extr (q,r,s,t) x = ((fromInteger q) * x + (fromInteger r)) / ((fromInteger s) * x + (fromInteger t))
>
> unit :: LFT
> unit = (1,0,0,1)
>
> comp :: LFT -> LFT -> LFT
> comp (q,r,s,t) (u,v,w,x) = (q*u+r*w,q*v+r*x,s*u+t*w,s*v+t*x)
Run Code Online (Sandbox Code Playgroud)
这里,很明显,一个叫做LFT的类型(可能是Python中的元组)和三个叫做的函数extr unit comp被定义了。 然而,接下来的部分让我很困惑:
> pi = stream next safe prod cons init lfts …Run Code Online (Sandbox Code Playgroud) 我有一个以下格式的嵌套列表:
[['john'],['jack','john','mary'],['howard','john'],['jude']...]
Run Code Online (Sandbox Code Playgroud)
我想找到嵌套列表中出现的前 3 或 5 个 john 索引(因为列表真的很长)并返回索引,例如: (0,0),(1,1),(2,1) 或采用任何建议的格式。
我对嵌套列表相当陌生。任何帮助将非常感激。
打印列表/生成器的前 N 个项目
这适用于普通列表。它打印列表的前 3 项
l=[1, 2, 3, 4]
print(l[:min(3, len(l))])
Run Code Online (Sandbox Code Playgroud)
我也希望这项工作适用于少于三个项目的列表。如果列表中只有一项,则打印一项。
AFAIK len(l) 仅适用于列表。如何为生成器实现这个?
我有一个在生成器上循环的代码。如果第二次迭代到达它,我必须打破该循环。为此,我使用,它在调用该方法时break引发 a 。GeneratorExitGenerator.close()
for page in limit_handled(tweepy.Cursor(..., ..., ...):
while len(the_list) < 400:
for status in page:
def process_status(tweet):
...
...
the_list.append(process_status(status))
break
Run Code Online (Sandbox Code Playgroud)
是否有一种更优雅的方法可以避免此类错误?
Exception ignored in: <generator object limit_handled at 0x000000003AB300A0>
RuntimeError: generator ignored GeneratorExit
Run Code Online (Sandbox Code Playgroud)
我已经看到了这两个问题的答案:如何获取第一个 N... 如何获取下一个 n...但这不是同一个问题。就我而言,Generator使用Cursor. 因此,在每次迭代时它都会处理一个查询。我想在达到至少 400 个状态后停止查询,这可能在第二次或第三次迭代之后发生(查询通常返回 200 行,但也可以更少)。此处不能选择对生成器进行切片。避免处理所有查询(总共 16 个,大约 16*200=3200 个状态)正是我想通过在返回 400 个状态后破坏代码来避免的。
编辑:为了更好地理解,这里是我的生成器的代码:
def limit_handled(cursor):
global user_timeline_remaining
while True:
if user_timeline_remaining>1:
try:
yield cursor.next()
except BaseException as e:
print('failed_on_CURSOR_NEXT', str(e))
else: …Run Code Online (Sandbox Code Playgroud) 我想在列表中打印最多 50 个元素
即如果列表中有 100 个元素,我只需要前 50 个。我目前的上述代码是
'Filter':switcheroo.get(zaxis,["None Selected"])[zaxis].unique().tolist()[:50]
Run Code Online (Sandbox Code Playgroud)
如果列表中有 25 个元素,我只需要 25 个。使用上述代码时出现错误。从其他帖子中我了解到以下代码是解决方案,但我无法理解如何使用我当前的代码实现它。
[x for _, x in zip(range(n), records)]
Run Code Online (Sandbox Code Playgroud)