小编Lou*_*dox的帖子

通过 walrus := 运算符进行多次赋值?

我曾经尝试多种分配与海象运营商,并且已经看到了StackOverflow的问题,比如这个使用海象运营商也无法分配多个变量,只是想知道一个成功的多任务将是什么样子,或者它是否是不可能。

这样做的目的是添加对检测我的库mvdef 中所有分配的变量名称的支持(特别find_assigned_args是在mvdef.src.ast_util模块中的函数内)。

从运行中ast.parse我可以看到:=操作符生成了一个ast.NamedExpr节点,.target它有一个ast.Name对象属性,我可以从对象的.id属性中获取分配的名称。

如果我不得不猜测,我会假设如果有可能的话,该.target属性将是一个ast.Name对象列表而不是单个ast.Name对象,但是我似乎无法得到一个例子的事实使得我想知道这是否不可能,至少暂时是不可能的(在这种情况下,我可以简化我的代码,而不仅仅是猜测实现应该是什么)。

如果有人知道要查看 Python 源代码的哪个特定部分来告诉我这是否可行,那会很有帮助,谢谢!

PS - 从初始提交( via )中Lib/test/test_parser.py提供的测试用例来看,似乎没有海象运算符多次赋值的例子,所以我现在假设这是不可能的(但请注意如果我错了!)

def test_named_expressions(self):
    self.check_suite("(a := 1)")
    self.check_suite("(a := a)")
    self.check_suite("if (match := pattern.search(data)) is None: pass")
    self.check_suite("[y := f(x), y**2, y**3]")
    self.check_suite("filtered_data = [y for x in data if (y := f(x)) is None]")
    self.check_suite("(y := f(x))")
    self.check_suite("y0 …
Run Code Online (Sandbox Code Playgroud)

python abstract-syntax-tree python-3.8

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

我可以从 Google 地图 (v3) 中删除网格线吗?

我有一个通过 Google Maps v3 API Styled Maps Wizard 使用 JSON 样式自定义的地图,但没有编辑网格线的选项 - 它们有点尴尬并且没有多大用处,但我可以不知道哪个参数控制它们。

这与打印地图无关,就像该主题的其他问题一样。

编辑从 geocodezip 的示例添加的图片(请参阅对问题的评论): 在此输入图像描述

这是来自我的地图,它们更加明显,并将图片分解为一些任意的网格: 在此输入图像描述

javascript google-maps google-maps-api-3

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

在使用solveset()中的erf()函数时,sympy和mpmath给出"TypeError:无法创建mpf"

我有4个输入变量(浮点数):

  • XMAX
  • XMIN
  • 百分比
  • 模式

我想为s解决以下(相当长的)等式:

> (1/2+1/2*erf((log(Xmax)-(log(mode)+s**2))/(sqrt(2)*s))-(1/2+1/2*erf((log(Xmin)-(log(mode)+s**2))/(sqrt(2)*s))) - percentage == 0
Run Code Online (Sandbox Code Playgroud)

我想用mpmath和sympy来解决这个等式,但它给了我以下错误信息:

TypeError:无法从0.707106781186547*( - s**2 - 0.287682072451781)/ s创建mpf

我的代码如下:

from mpmath import erf, log, sqrt
from sympy import Symbol, solveset, S

percentage = 0.95
mode = 2
Xmin = 1.
Xmax = 1.5
s = Symbol('s')

eqn = (1/2+1/2*erf((log(Xmax)-(log(mode)+s**2))/(sqrt(2)*s))-(1/2+1/2*erf((log(Xmin)-(log(mode)+s**2))/(sqrt(2)*s))) - percentage)

solveset(eqn, s, domain=S.Reals)
Run Code Online (Sandbox Code Playgroud)

mpf是mpmath创建的float类型.

我想我把问题缩小到erf()函数,它返回

EmptySet()
Run Code Online (Sandbox Code Playgroud)

当我跑

solveset(log(Xmax) - (log(mode) + s ** 2), s, domain=S.Reals)
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚下一步该尝试什么,任何帮助将不胜感激!

我最初认为这是数学问题,但是方程式在matlab中成功解决,所以问题可能来自于sympy或者mpmath.

python sympy mpmath

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

当两个人投入GitHub回购时会发生什么?

只是一个理论基础,我试图在这里理解 - 当两个人正在从原始形式("提交相同的存储库"?)工作GitHub项目时,当他们每个人做出改变时会发生什么,例如到同一行,然后两个都上传更改的文件("分叉"?)

有人会覆盖以前的人的变化吗?第一次使用git,我已经阅读了关于VCS结构的介绍书,但只是想知道如何处理它.

git github

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

对数据框中的重复进行分组和平均

我有不同样本和技术复制的数据框(AA.1、AA.2、AA.3)。每个完整的样本集(所有样本技术重复)都有一个测量值 var3,并针对不同的 var2(X、Y 或 Z)重复。所以总的来说,我有(样本数量)(技术重复数量(var2 数量)测量值(var1 x var2 的所有可能组合重复 3 次)。

data.frame(
  var1=rep(rep(c('AA.1', 'AA.2', 'AA.3', 'BB.1', 'BB.2', 'BB.3'), each=3), 2),
  var2=rep(c('X', 'Y'), each=18),
  var3=sample(20:40, 36, replace=TRUE)
)
Run Code Online (Sandbox Code Playgroud)

对于每个 var2,我想平均每个单独样本的技术重复。我想通过创建一个新的数据框来做到这一点,该数据框将样本名称列为行名称,3 列是 3 个技术重复。然后我可以做 rowMeans() 和 sd()。这怎么可能?

r dplyr

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

二进制逻辑运算符在Javascript中表达条件

我使用三元运算符,但经常想要检查没有else子句的东西.我想知道是否有任何简短的方法可以省略这一点.

我发现了

a ? b : {}
Run Code Online (Sandbox Code Playgroud)

作为替代if (a) {b},可以保存2个字符,但不能

a ? b :
Run Code Online (Sandbox Code Playgroud)

我认为这是有道理的,它是一个三元运算符.

我唯一的想法是那些空的花括号有点难看,有没有其他方法来指定一个空白的:语句?

或者,是否有二元?运算符?我在规范中翻找过,但看不出我是如何使用二进制逻辑运算符的,我猜这if就是为了什么.

有没有办法使用二进制逻辑运算符来表达{}的条件或简写?我知道这可能是3个角色的懒惰高度,但我只是好奇,如果有人有任何技巧可以分享.

javascript binary-operators ternary-operator logical-operators

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