小编hir*_*ist的帖子

元组作为函数参数

一个tuple在python(在码块)由逗号定义; 括号不是必需的(在以下情况下)。所以这三个都是等效的:

a, b = 1, 2
a, b = (1, 2)
(a, b) = 1, 2
Run Code Online (Sandbox Code Playgroud)

如果我定义一个功能

def f(a, b):
    print(a, b)
Run Code Online (Sandbox Code Playgroud)

以这种方式调用它将起作用:

f(2, 3)
Run Code Online (Sandbox Code Playgroud)

这不会:

f((2, 3))
# TypeError: f() missing 1 required positional argument: 'b'
Run Code Online (Sandbox Code Playgroud)

当它们是函数参数时,python如何区别元组?这里的括号是必须的(我明白为什么会这样,我很高兴python可以这样工作!)。

我的问题是:当它们是函数参数时,python如何区别元组。

python tuples python-3.x python-internals

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

pyqtgraph widget.addLine 更改颜色/宽度

我想使用小部件函数 addLine。在我的情况下,如下所示:

widget.addLine(x=None, y=0.8) #endless horizontal line
Run Code Online (Sandbox Code Playgroud)

现在我想改变这条线的颜色和宽度,但我找不到合适的函数。

有什么可以做到这一点吗?

另外,是否有类似的功能来“添加一个圆圈”而不是一条线?

python pyqtgraph

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

切线x的反正切不能精确计算

我的Python程序需要切线,反正切函数。我尝试了np.arctan和np.tan,但是观察到了奇怪的行为。原则上,某个数字的切线的反正切是数字本身,但是下面的代码没有给出精确的值。

import numpy as np
x = 10
print(np.arctan(np.tan(x)))
Run Code Online (Sandbox Code Playgroud)

当我将x更改为2 * x或3 * x时,结果将更加不准确。我尝试了math.tan,math.atan,但是结果是一样的。

有人可以解释为什么会发生这种情况(两个函数中的哪个是错误的),在哪种情况下应谨慎使用反正切和正切函数?

python math trigonometry numpy python-3.x

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

python删除数组中的空对象

我是 python 新手,正在玩数组并发现问题

array =  [{'hsp': 24, 'lsp': 22, 'timefrom': '00:00', 'timeto': '23:59'},
          {}, {}, {}]
Run Code Online (Sandbox Code Playgroud)

我想删除空对象,结果应该是这样的 [{'hsp': 24, 'lsp': 22, 'timefrom': '00:00', 'timeto': '23:59'}]

for day,value in array.iteritems():
    if not value:
    continue
    print array
Run Code Online (Sandbox Code Playgroud)

发现这无济于事

任何帮助,将不胜感激。提前致谢

python arrays dictionary

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

用字典解码霍夫曼代码

我需要使用包含ASCII和Huffman位之间的转换的文件来解码我用我的程序编码的霍夫曼代码.我已经在程序中从"代码"到ASCII这样的字典:

{'01110': '!', '01111': 'B', '10100': 'l', '10110': 'q', '10111': 'y'}
Run Code Online (Sandbox Code Playgroud)

我创建了这个函数:

def huffmanDecode (dictionary, text) :
Run Code Online (Sandbox Code Playgroud)

那需要字典和代码.我已经尝试在字典中搜索密钥并使用替换方法表单字符串和来自resub,但它们都没有正确地解码消息.例如,如果代码是:

011111011101110
Run Code Online (Sandbox Code Playgroud)

它应该直接解码为:

By!
Run Code Online (Sandbox Code Playgroud)

但我无法通过迭代代码和搜索字典中的匹配来做到这一点!

如何通过查找文本中的键并将其替换为值来使用字典中的键及其值来解码代码?

任何帮助是极大的赞赏.

python huffman-code

0
推荐指数
2
解决办法
5964
查看次数

这行代码离我的理解还很远,这是做什么的?

if (i + j) % 8 in [1, 5]:
Run Code Online (Sandbox Code Playgroud)

这行代码是什么意思,它将如何执行?

for i in range(8):
    for j in range(16):
        if (i + j) % 8 in [1, 5]:
            print('/', end = '')
Run Code Online (Sandbox Code Playgroud)

python python-3.x

0
推荐指数
1
解决办法
56
查看次数