小编Den*_*nly的帖子

为什么#define是一个空宏?

为什么有时我会看到

#define __Empty_macro__
Run Code Online (Sandbox Code Playgroud)

在c?它的用途是什么?恩.

#ifndef _BUILDIN_H_
#define _BUILDIN_H_

//codes never used _BUILDIN_H_ ...

#endif /* _BUILDIN_H_ */
Run Code Online (Sandbox Code Playgroud)

ex source是一个shell工具:https://github.com/dingdongnigetou/shell/blob/master/include/build_in.h

c

7
推荐指数
3
解决办法
1682
查看次数

Meteor Router.go()不会重新更新,但它可以在Chrome的控制台中使用

Meteor Router.go()不起作用.它只是在浏览器中刷新一个新的URL几毫秒,并且页面没有切换.

对不起,我找不到任何线索如何发生这种有线的事情..!

Template.Post.events({ 
'click a': function() { 
    Router.go('mainPage');  
});

Router.route('/', {
  name: 'mainPage',
  template: 'mainPage'
});
Run Code Online (Sandbox Code Playgroud)

更新:我输入Router.go('mainPage'); 在Chrome控制台中.它工作并返回undefined.

meteor iron-router

6
推荐指数
2
解决办法
1505
查看次数

Python如何在一条线上分配多个变量?

Python实际上在一行中分配多个变量的步骤是什么?

我用来做A [0],A [1] = A [1],A [0]交换,但最近我在分配链表时遇到了一个错误.

# insert self->node->...
def insert_next(self, node): 
  node.next, node.prev = self.next, self
  self.next, self.next.prev = node, node
Run Code Online (Sandbox Code Playgroud)

self.next变得node早于我的预期,所以分配成为

self.next, node.next = node, node     
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做

self.next.prev, self.next = node, node
Run Code Online (Sandbox Code Playgroud)

有用!

我"假设"步骤是

1. cache values at the right side
2. assign to left side one by one, left to right
Run Code Online (Sandbox Code Playgroud)

1. cache values at the right side
2. cache the ref at the left side
2. assign to ref one …
Run Code Online (Sandbox Code Playgroud)

python

5
推荐指数
1
解决办法
2502
查看次数

在 O(1) 中删除 deque 中的散列节点

如何散列 deque 中的内置节点(这是一个双链表)并删除 O(1) 中间的节点?内置节点是否暴露?

例如,我想在 dict 中保存一个双端队列的节点,以便以后可以在恒定时间内删除该节点。

这是 LRU 中的一个用例,使用 deque,所以我不需要编写自己的双链表。

from collections import deque

class LRU:
  def __init__(self):
    self.nodes = deque()
    self.key2node = {}

  def insertThenDelete(self):
    # insert
    node = deque.Node('k', 'v') # imagine you can expose deque node here
    self.nodes.appendleft(node) 
    self.key2node = {'k': node} 

    # delete
    self.key2node['k'].deleteInDeque() # HERE shold remove the node in DLL!
    del self.key2node['k']
Run Code Online (Sandbox Code Playgroud)

我知道你可以del mydeque[2]按索引删除。但我想key2node['k'].deleteInDeque()通过引用进行删除。

python deque python-internals

3
推荐指数
1
解决办法
503
查看次数

python deque按索引删除项目

有什么办法可以按索引删除双端队列中的项目?

例如

dq = deque(['a','b','c'])
dq.removeByIndex(1) 
#output deque(['b', 'c'])
Run Code Online (Sandbox Code Playgroud)

我只在文档中看到按值删除。我也知道我可以把它弹出几次然后放回去,但是看起来并不漂亮。谢谢。

参考 https://docs.python.org/2/library/collections.html#collections.deque

python deque

2
推荐指数
1
解决办法
2849
查看次数

标签 统计

python ×3

deque ×2

c ×1

iron-router ×1

meteor ×1

python-internals ×1