有没有办法在 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(',')}

输出是:

{'n': '6', 'm': '10'}

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

回答

当然:

>>> dict(pair.split('=', 1) for pair in string_of_kwargs.split(','))
{'n': '6', 'm': '10'}

为什么1作为 的第二个参数split()?以防万一有多个'='标志。尽管如此,还有更多的工作要做,以使其防弹,但这超出了问题的范围。


以上是有没有办法在 for 循环中解压 split() 的结果?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>