小编Tig*_*kT3的帖子

在Notepad ++中跳转到json视图中的右大括号或方括号的键盘快捷键?

JSONViewer在Notepad ++中使用插件并在文件中查看许多大型和嵌套的json元素.我可以使用哪些键盘快捷键跳转到}]?这与Visual Studio的CTRL+ 类似].

notepad++

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

如何扩展,模仿或模拟范围功能?

我为字符范围做了一个小生成器函数:

>>> def crange(start, end):
...     for i in range(ord(start), ord(end)+1):
...             yield chr(i)
...
Run Code Online (Sandbox Code Playgroud)

然后我可以这样做:

>>> print(*crange('a','e'))
a b c d e
Run Code Online (Sandbox Code Playgroud)

好极了!但这不起作用:

>>> crange('a','e')[::2]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'generator' object is not subscriptable
Run Code Online (Sandbox Code Playgroud)

这是有效的,但是O(n),不像range's(1):

>>> 'y' in crange('a','z')
True
Run Code Online (Sandbox Code Playgroud)

这意味着在最大值110,000中搜索字符号109,999大约需要0.35秒.109999 in range(110000)当然是快速的.

那时,我的第一个想法是简单地将范围子类化.不幸:

>>> class A(range):
...     pass
...
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: type 'range' is not an …
Run Code Online (Sandbox Code Playgroud)

python

22
推荐指数
2
解决办法
1275
查看次数

TypeError:描述符'strftime'需要'datetime.date'对象但收到'Text'

我有一个变量testeddate,其日期为文本格式,如2015年4月25日.我正在尝试将其转换%Y-%m-%d %H:%M:%S为如下:

dt_str = datetime.strftime(testeddate,'%Y-%m-%d %H:%M:%S')
Run Code Online (Sandbox Code Playgroud)

但我遇到了这个错误:

TypeError: descriptor 'strftime' requires a 'datetime.date' object but received a 'Text'
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

python datetime

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

如何确定容器是否是无限递归并找到其最小的唯一容器?

我正在阅读Flatten(一个不规则的)列表列表,并决定采用它作为Python练习 - 我偶尔会重写一个小函数,而不是参考原文,只是为了练习.我第一次尝试这个,我有类似以下内容:

def flat(iterable):
    try:
        iter(iterable)
    except TypeError:
        yield iterable
    else:
        for item in iterable:
            yield from flatten(item)
Run Code Online (Sandbox Code Playgroud)

这对于list包含数字的嵌套s 这样的基本结构很有效,但是字符串会使它崩溃,因为字符串的第一个元素是单字符字符串,第一个元素本身,第一个元素本身就是它,依此类推.检查上面链接的问题,我意识到这解释了检查字符串.这给了我以下内容:

def flatter(iterable):
    try:
        iter(iterable)
        if isinstance(iterable, str):
            raise TypeError
    except TypeError:
        yield iterable
    else:
        for item in iterable:
            yield from flatten(item)
Run Code Online (Sandbox Code Playgroud)

现在它也适用于字符串.但是,我随后回忆起a list可以包含对自身的引用.

>>> lst = []
>>> lst.append(lst)
>>> lst
[[...]]
>>> lst[0][0][0][0] is lst
True
Run Code Online (Sandbox Code Playgroud)

因此,字符串不是唯一可能导致此类问题的类型.在这一点上,我开始寻找一种方法来防止这个问题,而无需进行明确的类型检查.

下面flattener.py接踵而至.flattish()是一个只检查字符串的版本.flatten_notype()检查对象的第一个项目的第一个项目是否等于自身以确定递归.flatten()执行此操作然后检查对象或其第一个项目的第一个项目是否是另一个项目的实例.的Fake类基本上只定义了序列的包装.测试每个函数的行的注释在表单中描述结果should be `desired_result` [> `undesired_actual_result`] …

python recursion python-3.x

12
推荐指数
1
解决办法
307
查看次数

Java错误:"比较方法违反了其总合同!"

我有这个代码:

package org.optimization.geneticAlgorithm;
import org.optimization.geneticAlgorithm.selection.Pair;

public abstract class Chromosome implements Comparable<Chromosome> {
    public abstract double fitness();
    public abstract Pair<Chromosome> crossover(Chromosome parent);
    public abstract void mutation();
    public int compareTo(Chromosome o) {
        int rv = 0;
        if (this.fitness() > o.fitness()) {
            rv = -1;
        } else if (this.fitness() < o.fitness()) {
            rv = 1;
        }
        return rv;
    }
}
Run Code Online (Sandbox Code Playgroud)

每次我运行此代码时,我都会收到此错误:

Exception in thread "main" java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.ComparableTimSort.mergeHi(ComparableTimSort.java:835)
at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:453)
at java.util.ComparableTimSort.mergeCollapse(ComparableTimSort.java:376)
at java.util.ComparableTimSort.sort(ComparableTimSort.java:182)
at java.util.ComparableTimSort.sort(ComparableTimSort.java:146)
at …
Run Code Online (Sandbox Code Playgroud)

java openjdk comparable

11
推荐指数
1
解决办法
1万
查看次数

Android:错误 - 应用程序具有相同的打包不同签名

我正在解决android studio所说的问题

 Installation failed since the device has an application with the same package but a different signature. . . .. 
Run Code Online (Sandbox Code Playgroud)

这是正确的,因为我最近签署了一个APK并上传到我的播放开发者控制台的测试版区域.

现在我尝试在本地调试它,默认情况下我相信所有的Android项目都是由调试密钥库签名的,因此签名会有所不同.

处理这个问题的最佳方法是什么?是否可以使用我的发布密钥签署我的调试版本,这是否存在潜在的危险?

如何强制使用我的发布密钥库签署调试版本而不会失去调试能力等?

或者我应该继续卸载并重新安装不同的版本 - 这似乎是最糟糕的解决方法.:-)

android apk android-keystore android-studio

10
推荐指数
2
解决办法
8904
查看次数

基类具有不完整的类型错误

基类具有不完整的类型

这个错误究竟是什么意思,我该如何解决?我试图通过class Entity在我的EntityPhysics标题中声明该类来声明该类,但它不起作用.

这是我的Entity.h

#ifndef __Game__Entity__
#define __Game__Entity__

#include <iostream>
#include <string>

#include "OGRE/Ogre.h"

#include "OgreInit.h"

class Entity{
public:
    Entity(std::string entityId, std::string mesh, Ogre::Vector3 position = Ogre::Vector3::ZERO, Ogre::Vector3 rotation = Ogre::Vector3::ZERO);
    virtual ~Entity() = 0;

    void setPosition(Ogre::Vector3 position);
    Ogre::Vector3 getPosition();
    void setRotation(Ogre::Vector3 rotationIncrease);
    Ogre::Vector3 getRotation();
    void setMesh(std::string meshName);
    std::string getMesh();
    virtual void tick() = 0;
    void removeEntity();

    Ogre::Entity getEntity();
    Ogre::SceneNode getSceneNode();

    std::string entityId;
protected:
    Ogre::Entity *ent;
    Ogre::SceneNode *nod;
};

#endif /* defined(__Game__Entity__) */
Run Code Online (Sandbox Code Playgroud)

和我的EntityPhysics.h

#ifndef __Game__EntityPhysics__
#define __Game__EntityPhysics__ …
Run Code Online (Sandbox Code Playgroud)

c++ oop

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

Tkinter 中按钮的透明背景

我有一个Button带有按钮图像的图像,但是当它位于我的窗口中时,按钮的背景与窗口的背景发生冲突。它是一个 .png 图像,但tkinter似乎想通过添加灰色空间来将图像保持为四边形。有没有办法使按钮的空白区域变得透明,以便只留下按钮图像?

我在 Windows 8 上使用 Python 3.4.2。

python background tkinter button

9
推荐指数
1
解决办法
4万
查看次数

如何在Ubuntu 14.04上安装MarkLogic 8?

在Ubuntu 14.04上安装MarkLogic 8的步骤是什么?

ubuntu install marklogic

9
推荐指数
1
解决办法
2398
查看次数

如何在android中处理EditText Change Listener

想象一下,我有5个EditText,我需要在更改一个edittext值时填充值.价值观是相互依存的.我使用以下逻辑来实现这一点.

//Finding which edit text is originating values 

for(int i=0;i<mEditTextIds.length;i++){ 
        txt[i]=(EditText) findViewById(mEditTextIds[i]);
        txt[i].setOnTouchListener(new EditTextTouchLisner());
        txt[i].setId(i);
}


//Enable that Edittext's TextChangeListner and disabling all other Edittext's TextChangeListner ..

if (event.getAction() == MotionEvent.ACTION_DOWN){
    for(int i=0;i<mTableRowIds.length;i++){
        if(i!=v.getId()){
            txt[i].addTextChangedListener(null);
        }       
    }
    txt[v.getId()].addTextChangedListener(new TextChangedListner());


//calculating values 

@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
    //calculate();
    Toast.makeText(getApplicationContext(), "CHANGED", Toast.LENGTH_SHORT) .show(); 
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我再次单击edittext,则会出现以下错误:

10-25 16:23:05.149: ERROR/AndroidRuntime(2378): FATAL EXCEPTION: main
10-25 16:23:05.149: ERROR/AndroidRuntime(2378): java.lang.NullPointerException
10-25 16:23:05.149: ERROR/AndroidRuntime(2378):     at android.widget.TextView.sendBeforeTextChanged(TextView.java:6116)
10-25 16:23:05.149: ERROR/AndroidRuntime(2378):     at android.widget.TextView.access$700(TextView.java:187) …
Run Code Online (Sandbox Code Playgroud)

android listener android-edittext

8
推荐指数
2
解决办法
3万
查看次数