从这样的事情:
print(get_indentation_level())
print(get_indentation_level())
print(get_indentation_level())
Run Code Online (Sandbox Code Playgroud)
我想得到这样的东西:
1
2
3
Run Code Online (Sandbox Code Playgroud)
代码可以用这种方式读取自己吗?
我想要的是更嵌套的代码嵌套部分的输出.与使代码更易于阅读的方式相同,它将使输出更易于阅读.
当然,我可以手动实现,例如.format(),但我想到的是一个自定义打印功能,print(i*' ' + string)其中i缩进级别.这将是在我的终端上进行可读输出的快速方法.
有没有更好的方法来避免辛苦的手动格式化?
我正在阅读scrapy教程http://doc.scrapy.org/en/latest/intro/tutorial.html ,我一直跟着它直到我运行这个命令
scrapy crawl dmoz
Run Code Online (Sandbox Code Playgroud)
它给了我输出错误
2013-08-25 13:11:42-0700 [scrapy] INFO: Scrapy 0.18.0 started (bot: tutorial)
2013-08-25 13:11:42-0700 [scrapy] DEBUG: Optional features available: ssl, http11
2013-08-25 13:11:42-0700 [scrapy] DEBUG: Overridden settings: {'NEWSPIDER_MODULE': 'tutorial.spiders', 'SPIDER_MODULES': ['tutorial.spiders'], 'BOT_NAME': 'tutorial'}
2013-08-25 13:11:42-0700 [scrapy] DEBUG: Enabled extensions: LogStats, TelnetConsole, CloseSpider, WebService, CoreStats, SpiderState
Traceback (most recent call last):
File "/usr/local/bin/scrapy", line 4, in <module>
execute()
File "/Library/Python/2.7/site-packages/scrapy/cmdline.py", line 143, in execute
_run_print_help(parser, _run_command, cmd, args, opts)
File "/Library/Python/2.7/site-packages/scrapy/cmdline.py", line 88, in _run_print_help
func(*a, **kw) …Run Code Online (Sandbox Code Playgroud) 我有一个由单词组成的文件,每行一个单词.该文件如下所示:
aaa
bob
fff
err
ddd
fff
err
Run Code Online (Sandbox Code Playgroud)
我想计算一对一出现的单词的频率.
例如,
aaa,bob: 1
bob,fff:1
fff,err:2
Run Code Online (Sandbox Code Playgroud)
等等.我试过这个
f=open(file,'r')
content=f.readlines()
f.close()
dic={}
it=iter(content)
for line in content:
print line, next(line);
dic.update({[line,next(line)]: 1})
Run Code Online (Sandbox Code Playgroud)
我收到了错误:
TypeError: str object is not an iterator
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用迭代器:
it=iter(content)
for x in it:
print x, next(x);
Run Code Online (Sandbox Code Playgroud)
再次遇到同样的错误.请帮忙!
我有一个移动表来决定玩家是否根据他们对AI的选择而获胜.Think Rock,Paper,Scissors有很多动作.我最终将用Python编写它,但在开始之前,我想知道是否有更好的方法来做这个而不是很多和很多IF语句?
该表如下所示:
我认为这些动作需要分配数字,或类似的东西?我不知道从哪里开始......
我有一个脚本需要花费很多时间,并且在2天之后无法完成...我将1个文件解析为2个字典,如下所示:
gfftree = {'chr1':[(gene_id, gstart, gend),...], 'chr2':[(gene_id, gstart, gend),...],...}
TElocation = {'chr1':[(TE_id, TEstart, TEend),...], 'chr2':[(TE_id, TEstart, TEend),...],...}
Run Code Online (Sandbox Code Playgroud)
.
- 目的是找到TE_id,其TEstart或TEend或两者都位于每个chr(密钥)中的gene_id'gstart和gend之间.
这是我的代码:
TE_in_TSS = []
for TErange in TElocation[chromosome]:
TE_id, TEstart, TEend = TErange
for item in gfftree[chromosome]:
gene, gstart, gend = item
if len(list(set(range(int(gstart),int(gend)+1)) & set(range(int(TEstart),int(TEend)+1)))) > 0:
TE_in_TSS.append((gene, TE_id, TEstart, TEend))
else:
pass
Run Code Online (Sandbox Code Playgroud)
到目前为止,我确信这个循环对于小数据很好,但是当涉及到800,000 TE_id和4,000 gene_id等更大的循环时,需要时间......而且我不知道它是否可以完成......
我正在学习如何从这款笔记本上加速GPU上的python计算,其中一行令我困惑:
mandel_kernel[griddim, blockdim](-2.0, 1.0, -1.0, 1.0, d_image, 20)
Run Code Online (Sandbox Code Playgroud)
在此,mandel_kernel是一个装饰(通过cuda.jit)的功能,griddim和blockdim是长度为2的元组:griddim=(32,16),blockdim=(32,8).
这个方括号是在python语法的函数名和参数列表部分之间,还是特定于cuda.jit装饰的东西?
我有一个类似的列表
a=[{'time':3},{'time':4},{'time':5}]
Run Code Online (Sandbox Code Playgroud)
我想像这样以相反的顺序得到值的累积和
b=[{'exp':3,'cumsum':12},{'exp':4,'cumsum':9},{'exp':5,'cumsum':5}]
Run Code Online (Sandbox Code Playgroud)
获得这个的最有效方法是什么?我已经阅读了其他答案,其中使用numpy给出了解决方案
a=[1,2,3]
b=numpy.cumsum(a)
Run Code Online (Sandbox Code Playgroud)
但我也需要在字典中插入cumsum
如果存在多线程和一个向列表添加值的函数以及另一个获取该值的函数.与之不同的是:
import queue
scrape = queue.Queue()
def scrape():
scrape.put('example')
def send():
example = scrape.get()
print (example)
scrape = set([])
def scrape():
scrape.add('example')
def send():
example = scrape.pop()
print (example)
Run Code Online (Sandbox Code Playgroud)
为什么人们使用170-180行的队列模块,如果条件减慢了这种情况的过程,如果他们可以使用集合,这也给了他们重复过滤的优势.
如何明确定义给定变量可以具有哪些值?假设我希望可变大小的值是'small'、'medium'或'big'而不是别的。
编辑:我想避免将变量设置为列表之外的内容(例如在这种情况下设置为“小”)的情况。就像 Java 中的枚举一样。这个变量将是一个类字段。
python ×9
dictionary ×3
algorithm ×1
deque ×1
enums ×1
for-loop ×1
generator ×1
if-statement ×1
indentation ×1
iterator ×1
numba ×1
numba-pro ×1
numpy ×1
pandas ×1
queue ×1
reflection ×1
scrapy ×1
scrapyd ×1
set ×1
tokenize ×1