小编Art*_*nka的帖子

Python复杂的字典键

我的问题与字典键有关.我想设置一个包含任意单个对象的3个键的字典.键必须按顺序排列,并且可以具有多种值.例如,

dictionary = {(key1,key2,key3) : object}
Run Code Online (Sandbox Code Playgroud)

key1可以是1到10之间的任何值key2可以是11到20之间的任何值key3可以是21到30之间的任何值

按键的放置顺序很重要.

更具体地说,我的键对应于x,y,z笛卡尔坐标的范围,其中许多物体漂浮在其中.我希望能够基于x,y,z位置对对象的相对位置进行排序.

有什么方法可以设置它,还是我必须采取不同的方法?谢谢你的帮助!

python dictionary key

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

在python中导入模块的最pythonic方法是什么

任何人都可以建议我在python中导入模块的最pythonic方式是什么?让我解释一下 - 我已经阅读了很多python代码,并找到了几种不同的方法来导入模块或者更精确 - 何时导入:

  1. 使用一个模块/几个模块,其中包括整个项目所需的所有导入(第三方模块),因此所有导入都集中在少数模块中,因此很容易维护导入.当任何单个模块需要导入任何模块时,请询问参考模块.例如,在我们的项目中,我们将名为'references'的级别分开,因此它包含'system.py'(包含对所有系统库的引用),'platform.py'(包含对所有平台库的引用)等模块,'devexpress.py' '(包含对所有devexpress库的引用)等.这些模块看起来像:
  2. 每个模块都在模块的顶部导入所有必需的类和函数 - 例如,在项目的每个模块中都有一个导入部分
  3. 每个函数/类在本地使用导入,例如在定义之后,仅导入他们真正需要的东西.

请在下面找到样品.

1个示例导入模块 - 只有'import'和'from ... import ...'语句(没有任何方法或类):

#references.py
import re
import clr
import math

import System
import System.Text.RegularExpressions
import System.Random
import System.Threading
import System.DateTime

# System assemblies

clr.AddReference("System.Core")
clr.AddReference("System.Data")
clr.AddReference("System.Drawing")
...

#test.py
from references.syslibs import (Array, DataTable, OleDbConnection, OleDbDataAdapter,
                                 OleDbCommand, OleDbSchemaGuid)

def get_dict_from_data_table(dataTable):
    pass
Run Code Online (Sandbox Code Playgroud)

2个模块带有'import'和'from ... import ...'以及方法和类:

from ... import ...
from ... import ...

def Generate(param, param1 ...):
    pass
Run Code Online (Sandbox Code Playgroud)

3模块带有'import'和'from ... import ...'语句,这些语句在方法和类中使用:

import clr
clr.AddReference("assembly")       

from …
Run Code Online (Sandbox Code Playgroud)

python python-import

11
推荐指数
2
解决办法
3946
查看次数

TypeError:'float'对象不可调用

我试图在以下等式中使用数组中的值:

for x in range(len(prof)):
    PB = 2.25 * (1 - math.pow(math.e, (-3.7(prof[x])/2.25))) * (math.e, (0/2.25)))
Run Code Online (Sandbox Code Playgroud)

当我运行时收到以下错误:

Traceback (most recent call last):
  File "C:/Users/cwpapine/Desktop/1mPro_Chlavg", line 240, in <module>
    PB = float(2.25 * (1 - math.pow(math.e, (-3.7(prof[x])/2.25))) * (math.e, (0/2.25)))
TypeError: 'float' object is not callable
Run Code Online (Sandbox Code Playgroud)

这可能很简单,但我无法弄明白.任何帮助将不胜感激.提前致谢

python math types

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

lVals = [1,08,2011]有什么理由抛出异常吗?

我发现有一件事让我发疯.如果我指定以下列表:

lVals = [1, 01, 2011]
Run Code Online (Sandbox Code Playgroud)

然后不会显示任何错误,如果我使用会发生相同的情况02,03,04,05,06,07,但是如果我使用0809作为列表中的第二项,我会得到以下异常:

>>> a = [26, 08, 2011]
  File "<stdin>", line 1
    a = [26, 08, 2011]
              ^
SyntaxError: invalid token
Run Code Online (Sandbox Code Playgroud)

当我将这些数字(08,09)放在列表​​中的任何位置(例如[08,10,2011])时,也会出现相同的行为,即使我尝试分配08给单个int变量,我也会得到相同的异常.

这有什么原因吗?

python

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

Python lambda函数计算一个数的阶乘

我刚开始学习python.我遇到了lambda函数.在其中一个问题上,作者要求为一个数字的阶乘写一个单线性lambda函数.

这是给出的解决方案:

num = 5
print (lambda b: (lambda a, b: a(a, b))(lambda a, b: b*a(a, b-1) if b > 0 else 1,b))(num)
Run Code Online (Sandbox Code Playgroud)

我无法理解奇怪的语法.(a,b)是什么意思?

谁能解释一下?

谢谢

python lambda python-2.7

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

龙卷风与Django

我正在研究Django项目(RSS和推文聚合器)

  1. 如何在这个项目中使用龙卷风与django(我需要表格龙卷风同步"实时更新功能")
  2. 如何使用龙卷风形成django orm和django形式,以便龙卷风更容易做事

python django tornado

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

元组的连接

  1. 普通文字:

    • 我在python 3.2.1上编码时遇到了一些问题.其实我正在参加python 2.5上的在线讲座.
  2. 这是代码:

    x = 100
    divisors = ()
    for i in range(1,x):
        if x%i == 0:
            divisors = divisors + (i)
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在运行程序时,出现以下错误:

    divisors = divisors + (i)  
    TypeError: can only concatenate tuple (not "int") to tuple
    
    Run Code Online (Sandbox Code Playgroud)

python tuples python-3.x

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

在Python中处理导入周期的最佳方法是什么?

在我们的项目中,我们使用以下模块进行级别"控制":'grid','gridcell','combo'等.网格模块导入gridcell模块,因为网格由单元格组成,而任何单元格都可以在其中包含组合.所以最初我们开始在这些类中使用'from ... import ...'语句,方法如下:

#grid.py
from controls.gridcell import cell
#gridcell.py
from controls.combo import combo
Run Code Online (Sandbox Code Playgroud)

但是在我们开始使用网格作为组合内容之前,这是可以的.一旦我们开始这样做,我们就需要将'from grid import grid'语句添加到'combo.py'中.执行此操作后,我们得到一个导入异常:

from controls.gridcell import gridcell 
ImportError: Cannot import name gridcell 
Run Code Online (Sandbox Code Playgroud)

编辑:

我也试过'import ... as ...'并得到以下错误:

import controls.gridcell as gridcell
AttributeError: 'module' object has no attribute 'gridcell'
Run Code Online (Sandbox Code Playgroud)

我已经阅读了几篇文章,我发现的关于如何解决这个问题的所有内容都是使用'import'语句,例如:

#grid.py
import controls.gridcell
#gridcell.py
import controls.combo
#combo.py
import controls.grid
Run Code Online (Sandbox Code Playgroud)

但这导致我们使用全名,如'controls.gridcell.cell','controls.combo.combo','controls.grid.grid'等.

所以我的问题是 - 有没有其他方法可以做到这一点(因此可以使用较短的名称)或者这是如何解决这个问题的唯一方法?

抱歉,如果我错过了什么

对所有人而言

python python-import

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

如何使用Python鼠标单击选择的区域?

我正在使用Matplotlib和PIL使用python,需要查看图像选择并剪切我必须使用的区域,只留下所选区域的图像.我知道如何使用pil切割图像(使用im.crop)但是如何通过鼠标点击选择坐标来压缩图像?为了更好地解释,我裁剪图像如下:

import Pil 
import Image
im = Image.open("test.jpg")

crop_rectangle = (50, 50, 200, 200)
cropped_im = im.crop(crop_rectangle)

cropped_im.show()
Run Code Online (Sandbox Code Playgroud)

我需要在一个我想要使用的矩形中用鼠标点击给出坐标"crop_rectangle",我该怎么办呢?

谢谢

python image-processing matplotlib python-imaging-library

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

如何在python中将整个文件读入列表?

我想将整个文件读入python列表,任何人都知道如何?

python

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