草庐IT

more-itertools

全部标签

python - 如何将 itertools "grouper"对象变成列表

我正在尝试学习如何在Python中使用itertools.groupby,我想找到每组字符的大小。起初我试图看看我是否可以找到单个组的长度:fromitertoolsimportgroupbylen(list(list(groupby("cccccaaaaatttttsssssss"))[0][1]))我每次都会得到0。我做了一些研究,发现其他人是这样做的:fromitertoolsimportgroupbyforkey,grouperingroupby("cccccaaaaatttttsssssss"):printkey,len(list(grouper))效果很好。我感到困惑的是为

python - psycopg2.InternalError : how can I get more useful information?

我在Python脚本中运行此命令:try:printsql_stringcursor.execute(sql_string)except:printsys.exc_info()并获得:(,InternalError('currenttransactionisaborted,commandsignoreduntilendoftransactionblock\n',),)但是,如果我从psql命令行尝试sql_string,它工作得很好。我知道脚本可以正常连接到数据库,因为我可以运行其他命令。我怎样才能让Python为我提供更多有用的信息,说明此命令为何在脚本中失败?

python - itertools.chain 链接一个 iter 列表?

importitertoolsdef_yield_sample():it=iter(itertools.combinations('ABCD',2))it2=iter(itertools.combinations('EFGH',3))itc=itertools.chain(it,it2)forxinitc:yieldxdefmain():forxin_yield_sample():printx这可以打印组合。>>>('A','B')('A','C')('A','D')...但是这个:def__position_combination(_count=[2,3,4,5]):its=[]fo

python - 用于 Mac 开发的 PyObjc 与 RubyCocoa : Which is more mature?

我一直想尝试一下Ruby或Python,同时我一直想做一些Cocoa编程。所以我认为实现这两个目标的最佳方法是使用Ruby或Python到Objective-C桥(PyObjc或RubyCocoa)来开发一些东西。我知道,理想情况下,为了获得最佳学习体验,我会独立学习每项技术,但我没有时间。:)所以我的问题是哪个是更成熟的平台,PyObc或RubyCocoa,我正在寻找的主要内容:API文档教程工具支持社区可通过桥接获得CocoaAPI的完整性关于第5点,我不希望整个CocoaAPI可以通过任何一个桥接器使用,但我需要有足够的CocoaAPI来开发一个正常运行的应用程序。

python - 服务器使用 Flask/Redis 发送事件 : how can more than one client view a stream?

我有多个客户端尝试连接到/stream中的服务器发送的事件流。这适用于单个客户端,但尝试连接更多客户端会导致新客户端无限期地阻塞等待数据。如果我发送更多数据,它只会发送给第一个客户端,不会发送给其他客户端。这里有一个小片段可以说明我的问题:importflaskimporttimeapp=flask.Flask(__name__)defevent_stream():foriinxrange(9999):yield"data:%d\n\n"%itime.sleep(1)@app.route("/stream",methods=["GET"])defstream():returnflask

python - 值错误 : need more than 1 value to unpack

免责声明:我已阅读位于PythonError:"ValueError:needmorethan1valuetounpack"的帖子,并且没有一个答案解释如何实际运行代码。我正在阅读LearnPythontheHardWay,我正在做练习13。这是我尝试在Python2.7的IDLE事物(不知道它真正叫什么)中运行的代码:fromsysimportargvscript,first,second,third=argvprint"Thescriptiscalled:",scriptprint"Yourfirstvariableis:",firstprint"Yoursecondvariabl

python - 'itertools' 文件在哪里

importitertoolsprintitertools#ok代码没问题但我找不到itertools文件。谁能告诉我“itertools文件”在哪里我的代码运行的是python2.5importitertoolsprintitertools.__file__Traceback(mostrecentcalllast):File"D:\zjm_code\mysite\zjmbooks\a.py",line5,inprintitertools.__file__AttributeError:'module'objecthasnoattribute'__file__'

python - Python 中 itertools.combinations 的算法

我正在解决一个涉及组合的编程难题。它让我找到了一个很棒的itertools.combinations函数,我想知道它是如何工作的。文档说该算法大致等同于以下内容:defcombinations(iterable,r):#combinations('ABCD',2)-->ABACADBCBDCD#combinations(range(4),3)-->012013023123pool=tuple(iterable)n=len(pool)ifr>n:returnindices=list(range(r))yieldtuple(pool[i]foriinindices)whileTrue:fo

python - 高效的项目装箱算法(itertools/numpy)

我认为这是一个常见的组合问题,但我似乎找不到它的名称或任何相关资料。我在Python和numpy中这样做,但如果有一个快速的矩阵方法,我可能可以翻译。基本上,给定n个项目,我需要生成所有方法将它们放入m个箱子。例如,将4个项目分到3个箱中会得到类似[(4,0,0),(3,1,0),(3,0,1),(2,2,0),(2,1,1),...]。这是一种总量固定的产品。使用itertools实现这个很简单。importitertoolsdeffixed_total_product(bins,num_items):"""Returniteratorofallitembinningpossibil

python - itertools.combinations 做出的保证是什么?

itertools.combinations的文档状态:Combinationsareemittedinlexicographicsortorder.So,iftheinputiterableissorted,thecombinationtupleswillbeproducedinsortedorder.Elementsaretreatedasuniquebasedontheirposition,notontheirvalue.Soiftheinputelementsareunique,therewillbenorepeatvaluesineachcombination.[强调我的]这