小编jwi*_*720的帖子

python按值的长度排序字典

我发现很多线程按照这里的值进行排序,但它似乎对我不起作用......

我有一个列表的字典有元组.每个列表都有不同数量的元组.我想按每个列表包含多少个元组对字典进行排序.

>>>to_format 
>>>{"one":[(1,3),(1,4)],"two":[(1,2),(1,2),(1,3)],"three":[(1,1)]}
>>>for key in some_sort(to_format):
       print key,
>>>two one three
Run Code Online (Sandbox Code Playgroud)

这可能吗?

python sorting dictionary

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

熊猫:pivot和pivot_table之间的区别.为什么只有pivot_table工作?

我有以下数据帧.

df.head(30)

     struct_id  resNum score_type_name  score_value
0   4294967297       1           omega     0.064840
1   4294967297       1          fa_dun     2.185618
2   4294967297       1      fa_dun_dev     0.000027
3   4294967297       1     fa_dun_semi     2.185591
4   4294967297       1             ref    -1.191180
5   4294967297       2            rama    -0.795161
6   4294967297       2           omega     0.222345
7   4294967297       2          fa_dun     1.378923
8   4294967297       2      fa_dun_dev     0.028560
9   4294967297       2      fa_dun_rot     1.350362
10  4294967297       2         p_aa_pp    -0.442467
11  4294967297       2             ref     0.249477
12  4294967297       3            rama     0.267443
13  4294967297       3           omega     0.005106
14  4294967297       3          fa_dun …
Run Code Online (Sandbox Code Playgroud)

python pivot pandas

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

从标准库向python字典添加属性

我想知道你是否可以在python字典中添加一个属性.

class myclass():
    def __init__(): 
     self.mydict = {} #initialize a regular dict
     self.mydict.newattribute = "A description of what this dictionary will hold"
     >>>AttributeError: 'dict' object has no attribute 'newattribute'
     setattr(self.mydict,"attribute","A description of what this dictionary will hold"
     >>>AttributeError: 'dict' object has no attribute 'newattribute'
Run Code Online (Sandbox Code Playgroud)

无论如何都要快速添加我的描述属性,而不必复制dict类并重载构造函数.我觉得这很简单,但我想我错了.

谢谢,J

python attributes dictionary overloading

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

VS Code - 在模块模式下运行 console_script 的调试配置

我的setup.py has the following console_scripts as entry points:

\n\n
entry_points={\n        \'console_scripts\': [\'script=myapp.app:do_something\',\n                            \'script2=myapp.app:do_something2\'],\n    },\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

具有以下结构

\n\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 myapp\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 app.py\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 mod.py\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 mod2.py\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 submodules\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 mod3.py\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 requirements.txt\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 setup.py\n
Run Code Online (Sandbox Code Playgroud)\n\n

和应用程序看起来像

\n\n
##my_app.app\n\ndef do_something():\n  #do stuff\ndef do_something2():\n  #do other stuff\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

如何获取 VS 代码调试配置以输入这些模块属性。if __name__ == "__main__": do_something()如果我使用但想要根据 console_scripts 单独的 launch.json 文件,我可以运行该模块

\n\n
##launch.json\n{\n  "configurations": [\n    {\n      "name": "Python: Module",\n      "type": "python",\n      "request": "launch",\n      "cwd": "${workspaceFolder}",\n      "module": "myapp.app",\n      "args": ["--hello world"]\n …
Run Code Online (Sandbox Code Playgroud)

python debugging visual-studio-code

10
推荐指数
1
解决办法
1769
查看次数

一起或单独声明索引,有什么区别?

我在mysql中使用大量数据集时遇到了麻烦,我正在探索许多不同的索引方法.任何人都可以告诉我,如果我一起声明几个索引有什么区别

ALTER TABLE `db`.`test` ADD INDEX `someindex` (field1, field2, field3);
Run Code Online (Sandbox Code Playgroud)

而不是单独声明它们?

ALTER TABLE `db`.`test` ADD INDEX `f1` (field1), ADD INDEX `f2` (field2);
Run Code Online (Sandbox Code Playgroud)

为什么要一起或单独声明它们?

mysql indexing

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

如何访问在 try 语句中初始化的对象

我是 C++ 新手,想知道您是否可以执行以下操作,或者您是否有更好的方法。

我的数据库处理程序有一个自定义异常类:我在主程序中使用它,如下所示:

int main(int argc, char const ** argv){
    try {
        DatabaseHandler DGeneDB = DatabaseHandler("string/to/path");
    }catch(DatabaseHandlerExceptions &msg) {
        std::cerr << "Couldn't open Database" << std::endl;
        std::cerr << msg.what();
        return 1;
    }
    DGeneDB.foo() //Can't access this object since it was initialized in try statement
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我想用 DGeneDB 对象做十亿件事,但不想在 try 语句中全部完成。我只想捕获初始化期间引发的构造函数异常。我应该怎么做才能在 try 之外使用该对象?我的意思是,如果它抛出异常,它将返回 1 并在 main() 到达另一个对象之前停止它。

c++ scope exception

8
推荐指数
1
解决办法
1812
查看次数

Tkinter组合框 - 在单击小部件时优雅地失去焦点

我有一个用Python Tkinter编写的ComboBox,当你点击它而不选择某些东西时会发出可怕的系统警报声.

例如,当您点击下拉菜单并选择您的项目时,它可以正常工作.但是,如果您按下下拉菜单然后决定单击关闭,它将按预期失去焦点,但会发出警报声.可以通过某种方式禁用它,以便它可以优雅地失去焦点而不抱怨吗?我在OSX 10.9顺便说一下

更新 - 生成警报的最小工作代码.

from Tkconstants import *
import ttk
import Tkinter

class PyPrecursor():

    def __init__(self,root):
        self.root = root
        self.TabNotebook()

    def TabNotebook(self):
        self.main_notebook_frame = ttk.Notebook(self.root, name='main_notebook')
        self.main_notebook_frame.enable_traversal()
        self.OptionsF = ttk.Frame(self.main_notebook_frame, name='options')
        self.length_options_frame = ttk.LabelFrame(
        self.OptionsF, labelwidget=ttk.Label(font=('Arial', 15), text="Length Options:"))
        self.hcdr3_length_label = ttk.Label(self.length_options_frame, text="HCDR3 Length")
        self.HCDR3_Length = Tkinter.StringVar()
        self.hcdr3_length_combo = ttk.Combobox(
        self.length_options_frame, values=[i for i in xrange(16, 36)], 
             textvariable=self.HCDR3_Length)
        self.hcdr3_length_combo.current(0)
        self.length_options_frame.pack(side=TOP,fill=X,pady=5)
        self.hcdr3_length_label.pack(side=LEFT)
        self.hcdr3_length_combo.pack(side=LEFT,anchor=W)
        self.main_notebook_frame.pack(side=TOP,expand=1,fill=BOTH,padx=10,pady=10)
        self.main_notebook_frame.add(
            self.OptionsF, text="Input Options", underline=0, padding=2)
        self.main_notebook_frame.bind("<<NotebookTabChanged>>",self.update_)

    def update_(self,event):
        self.root.update()

def main():
    root = …
Run Code Online (Sandbox Code Playgroud)

python combobox focus tkinter

8
推荐指数
1
解决办法
912
查看次数

MongoDB更新.试图从另一个属性设置一个字段

我想要做的事情非常简单,但我无法找到如何给一个字段赋予另一个字段的价值.

我只想用另一个字符计数更新一个字段.

db.collection.update({$exists:true},{$set : {field1 : field2.length}})
Run Code Online (Sandbox Code Playgroud)

我试过给它点符号

db.collection.update({$exits:true},{$set : {field1: "this.field2.length"}})
Run Code Online (Sandbox Code Playgroud)

以及使用javascript语法

db.collection.update({$exits:true},
                     {$set : {field1: {$where : "this.field2.length"}})
Run Code Online (Sandbox Code Playgroud)

但只是复制了字符串并分别获得了"notOkforstorage".有帮助吗?

更新:当我按ID查询时,我只获得"notOkforStorage":

db.collection.update({_id:ObjectID("38289842bbb")},
                     {$set : {field1: {$where :"this.field2.length"}}})
Run Code Online (Sandbox Code Playgroud)

mongodb

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

从长形式的值重建对称矩阵

我有一个看起来像这样的tsv(长形式):

  one   two   value
  a     b     30
  a     c     40
  a     d     20
  b     c     10
  b     d     05
  c     d     30
Run Code Online (Sandbox Code Playgroud)

我想把它变成R(或pandas)的数据帧

    a  b  c  d 
a   00 30 40 20
b   30 00 10 05 
c   40 10 00 30
d   20 05 30 00
Run Code Online (Sandbox Code Playgroud)

问题是,在我的tsv中我只有a,b定义而不是b,a.所以我的数据框中有很多NA.

最终目标是获得用于聚类的距离矩阵.任何帮助,将不胜感激.

r matrix reshape

6
推荐指数
1
解决办法
1484
查看次数

R:从下对角线制作对称矩阵

我有一个矩阵的下三角形,我试图转换为一个异常矩阵,因此它需要是对称的.

print(rdf)

         X0        X1        X2        X3 X4
0 0.0000000        NA        NA        NA NA
1 0.5340909 0.0000000        NA        NA NA
2 0.5340909 0.0000000 0.0000000        NA NA
3 0.3200000 0.5227273 0.5227273 0.0000000 NA
4 0.6263736 0.4945055 0.4945055 0.5384615  0

library(gdata)
upperTriangle(rdf) <- lowerTriangle(rdf)
isSymmetric(rdf)
       X0        X1        X2        X3        X4
0 0.0000000 0.5340909 0.5340909 0.6263736 0.4945055
1 0.5340909 0.0000000 0.3200000 0.0000000 0.5227273
2 0.5340909 0.0000000 0.0000000 0.5227273 0.4945055
3 0.3200000 0.5227273 0.5227273 0.0000000 0.5384615
4 0.6263736 0.4945055 0.4945055 0.5384615 0.0000000
[1] FALSE
Run Code Online (Sandbox Code Playgroud)

到底是怎么回事?注意,我不需要使用gdata

r matrix

6
推荐指数
1
解决办法
6386
查看次数