小编Fly*_*_37的帖子

有没有办法像 python 中那样组合 if & 语句?

我一直想知道是否可以以某种方式将“if”和“as”语句结合起来,如下所示:

if possible_error() as error:
  return error
Run Code Online (Sandbox Code Playgroud)

代替

error = possible_error()
if error:
  return error
Run Code Online (Sandbox Code Playgroud)

其中“possible_error”函数返回空字符串或错误消息。通过这样做,我可以节省一行代码。

我知道一些妥协是运行这个函数两次:

if possible_error():
  return possible_error()
Run Code Online (Sandbox Code Playgroud)

但我宁愿避免这样做。

python

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

有没有办法在 for 循环中解压 split() 的结果?

我知道问题的标题可能不是最直观的,但我想不出更好的方法来简短地描述它,这就是我的实际意思。

我想写一些小的解析器,它会用我指定的字符串构建一个 kwargs 字典。

下面是一个例子:

string_of_kwargs = 'n=6,m=10'
graph_kwargs = {pair.split('=')[0]:pair.split('=')[1]
                    for pair in string_of_kwargs.split(',')}
Run Code Online (Sandbox Code Playgroud)

输出是:

{'n': '6', 'm': '10'}
Run Code Online (Sandbox Code Playgroud)

问题是在上面的代码中,我不得不使用 pair.split('=') 两次,我想知道是否有办法解决它,以防我将来不得不解压更多这样的值。

python dictionary loops unpack keyword-argument

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

标签 统计

python ×2

dictionary ×1

keyword-argument ×1

loops ×1

unpack ×1