我有这样的事情:
from Tkinter import *
root = Tk()
root.title("Test")
def _quit():
root.destroy()
m = Menu(root)
root.config(menu=m)
fm = Menu(m, tearoff=0)
m.add_cascade(label="File", menu=fm)
fm.add_command(label="Quit", command=_quit, accelerator='Ctrl+Q')
root.bind('<Control-Q>', _quit())
root.bind('<Control-q>', _quit())
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
我的问题是:
"为什么_quit()
总是被召唤?"
我收到一个错误,我不太明白以下脚本.我以为我能够将这两个numpy数组多个幸福,但我不断收到此错误:
TypeError: unsupported operand type(s) for *: 'numpy.ndarray' and 'numpy.ndarray'
Run Code Online (Sandbox Code Playgroud)
脚本如下:
def currents_to_resistance(Istack1, Istack2, A_list, x_list):
#Error Calcs
Videal_R1 = (1.380648e-23 * (27+273.15)) / (1.6021766e-19)
print Videal_R1
Istack1 = np.array(Istack1)
Istack2 = np.array(Istack2)
print Istack1
print Istack2
g = Istack1*Istack2
print g
Run Code Online (Sandbox Code Playgroud)
在乘法之前的打印Istack1 Istack2出来了
['0.0005789047' '0.0005743839' '0.0005699334' '0.000565551' '0.0005612346'
'0.0005569839' '0.0005527969' '0.0005486719' '0.000544608' '0.0005406044'
'0.0005366572' '0.000532768' '0.000528934' '0.0005251549' '0.0005214295'
'0.0005177562' '0.0005141338' '0.0005105614' '0.000507039' '0.0005035643'
'0.0005001368' '0.0004967555' '0.0004934193' '0.0004901279' '0.0004868796'
'0.0004836736']
['0.000608027' '0.0006080265' '0.0006080267' '0.0006080267' '0.0006080261'
'0.0006080261' '0.0006080262' '0.0006080261' '0.0006080263' '0.0006080272' …
Run Code Online (Sandbox Code Playgroud) 在我正在编写的Python程序中,我使用字典构建了一个链表,该字典将每个节点映射到其后继节点(最后一个节点映射到None).
(实际上,字典保存了维基百科告诉我的称为意大利面堆栈,这是一个树,其中每个节点都链接到其父节点而不是它的子节点.这意味着从叶节点到根节点有许多部分重叠的路径我只关心其中一条路径,从特定的叶子节点开始.除了排除任何涉及迭代字典中所有元素的解决方案之外,这对问题并不重要.)
我需要将此列表作为可迭代函数传递给另一个函数.我知道我可以使用生成器函数来执行此操作(请参阅下面的代码),但似乎应该有一个内置函数来在一行中生成我需要的迭代器(或者可能是生成器表达式).我已经对文档进行了一些搜索,但是itertools或functools模块中没有任何内容似乎适用,而且我不确定在哪里可以查看.
这是我现在的发电机功能.外部函数可以被消除(内联),但内部生成器似乎是为数据进行迭代的唯一简单方法:
def makeListGenerator(nextDict, start):
def gen(node):
while node:
yield node
node = nextDict[node]
return gen(start)
Run Code Online (Sandbox Code Playgroud)
看起来应该有这种发生器的模式,但我不确定它会被称为什么.这是一个通用版本:
def makeGenericGenerator(nextFunc, continueFunc, start):
def gen(value):
while continueFunc(value):
yield value
value = nextFunc(value)
return gen(start)
Run Code Online (Sandbox Code Playgroud)
我可以使用这个调用实现特定版本:
makeGenericGenerator(lambda v: nextDict[v], bool, start)
Run Code Online (Sandbox Code Playgroud)
Python标准库中是否已存在类似的内容?
del
python中的语句应用于列表时,会做一些非常奇怪的事情.它不仅会删除相关列表中的条目,还会"回溯"以删除变量派生自的任何列表中的相同元素.
例如:
>>> x
[1, 2, 3, 4, 5]
>>> z=x
>>> del z[1]
>>> z
[1, 3, 4, 5]
>>> x
[1, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
换句话说,即使我应用删除z
,删除也适用于x
.这种"回溯"没有提出任何其他命令或功能,例如
>>> x=[1,2,3,4,5]
>>> z=x
>>> z+[6]
[1, 2, 3, 4, 5, 6]
>>> x
[1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
将add函数应用于z使x不受影响,因为它应该是.
这让我感到各种令人头疼的问题,我正在处理删除'NA'脚本.你知道del
声明发生了什么吗?如何解决这个问题,以便如果我设置z=x
然后应用del z
,x
保持不变?
尝试发布推文时,我从AppEngine收到此错误.我觉得我的语法不对,但我现在不知所措.
对于我的生活,我似乎无法使用以下命令将我的状态参数发送到post函数中的**extra_params:
args = {} <br/>
args.update({'status': 'THIS IS MY TWEET'})<br/>
info2 = client.post('/statuses/update',args)<br/>
Run Code Online (Sandbox Code Playgroud)
确切的错误是:
"File "/base/data/home/apps/kymbatweet/1.350119792863170339/main.py", line 311, in get_signed_body
__meth.upper(), __url, '&'.join(
AttributeError: 'dict' object has no attribute 'upper'"
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?(代码如下)
def post(self, api_method, http_method='POST', expected_status=(200,), **extra_params):
if not (api_method.startswith('http://') or api_method.startswith('https://')):
api_method = '%s%s%s' % (
self.service_info['default_api_prefix'], api_method,
self.service_info['default_api_suffix']
)
if self.token is None:
#self.token = OAuthAccessToken.get_by_key_name(self.get_cookie())
self.token = "000"
fetch = urlfetch(url=api_method, payload=self.get_signed_body(
api_method, "000", http_method, **extra_params
), method=http_method)
if fetch.status_code not in expected_status:
raise ValueError(
"Error …
Run Code Online (Sandbox Code Playgroud) AngularJS不对ng-repeat进行排序.我做到了,
<div ng-repeat="list in lists">
<div style="float: left; margin-left: 5px;">
<div id="tasks" >
<h3>{{ list.name }}</h3>
<ul>
<li ng-repeat="card in cards | orderBy:'card.position'" ng-if="list._id == card.list">{{ card.position }}<button ng-click="take(card.position)">HERE</button>{{ $index }}</li>
</ul>
<form ng-submit="addTask(list._id, $index, newTask)">
<input type="text" ng-model="newTask" placeholder="add a new task" required />
</form>
</div>
</div>
</div>
console.log($scope.cards[0]);
Run Code Online (Sandbox Code Playgroud)
以上代码的输出是:
Object { _id: "59bc0936c84be51d70f786e7", name: "first", list: "59bbdeae1ebcd215a4b7af62", position: 7200, __v: 0, created: "2017-09-15T17:09:10.813Z", updated: "2017-09-15T17:09:10.813Z" }
Run Code Online (Sandbox Code Playgroud)
我哪里可以犯错?
我想问一下Python中的代码:
class UserDict:
def __init__(self, dict=None, **kwargs):
self.data = {}
if dict is not None:
self.update(dict)
if len(kwargs):
self.update(kwargs)
def clear(self): self.data.clear()
Run Code Online (Sandbox Code Playgroud)
这clear(self)
是一个UserDict
类的方法,并对类的data
属性进行操作,对吧?这个功能不会data
永远运作吗?因为它每次自称?
我试图创建一个读取fasta文件"seqs.fa"的python程序,并让程序按名称顺序对序列进行排序.
Fasta文件如下所示:
>seqA - human
GCTGACGTGGTGAAGTCAC
>seqC - gorilla
GATGACAA
GATGAAGTCAG
>seqB - chimp
GATGACATGGTGAAGTAAC
Run Code Online (Sandbox Code Playgroud)
我的程序看起来像这样:
import sys
inFile = open(sys.argv[1], 'r')
a = inFile.readlines()
a.sort()
seq = ''.join(a[0:])
seq = seq.replace('\n', "\n")
print seq
Run Code Online (Sandbox Code Playgroud)
预期结果:
>seqA - human
GCTGACGTGGTGAAGTCAC
>seqB - chimp
GATGACATGGTGAAGTAAC
>seqC - gorilla
GATGACAAGATGAAGTCAG
Run Code Online (Sandbox Code Playgroud)
我的结果:
>seqA - human
>seqB - chimp
>seqC - gorilla
GATGACAA
GATGAAGTCAG
GATGACATGGTGAAGTAAC
GCTGACGTGGTGAAGTCAC
Run Code Online (Sandbox Code Playgroud)
最后四行是大猩猩,黑猩猩和人类序列,大猩猩序列分为前两行.
任何人都可以给我一些关于如何排序或解决问题的方法的提示?
是否有一种简单的方法可以迭代二维数组来存储到目前为止在特定维度上遍历时获得的最大值.例如,我有一个数组:
[[2 , 1, 5],
[-1, -1, 4],
[4, 3, 2],
[2 , 3, 4]]
Run Code Online (Sandbox Code Playgroud)
我想要以下输出:
[[2 , 2, 5],
[-1, -1, 4],
[4, 4, 4],
[2 , 3, 4]]
Run Code Online (Sandbox Code Playgroud)
谢谢!