Python:将分割值分配给多个变量

MHi*_*bin 6 python arrays variable-assignment

我目前正在编写一个Python脚本来处理一些日志并重新格式化某些部分.部分脚本使用以下代码(作为示例):

var1,var2,var3=foo.split("|")
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.然而,如果有39个值,这可能看起来不那么好(取消Python的可读性因子),例如:

var1,var2,var3,...,var39=foo.split("|")
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法来格式化这种结构?

谢谢

Mat*_*t M 17

您可以分配给不同的变量.就像在Perl中一样,您只需要在数组中定义它们,因此通过匹配变量和结果的位置来完成赋值.

这是我在交互式python中尝试过的东西:

>>> # this is a grep result, btw
... foo = 'config/some.conf:12:   title = "Super Me"'
>>> [ filename, line, text ] = foo.split(':')
>>> print text
   title = "Super Me"
Run Code Online (Sandbox Code Playgroud)

我喜欢这个而不是字典或数组,尤其是在for循环中工作时.它使变量名更有意义,即使是循环本地的,也可以是临时的.

获胜的可读性!

  • Python 对于虚拟变量的方式是使用“_”。 (2认同)

app*_*tor 7

lst = foo.split("|")
lst[0]
lst[1]
...
Run Code Online (Sandbox Code Playgroud)