Python从一个字符串指定2个变量

2024-10-03 15:22:34 发布

您现在位置:Python中文网/ 问答频道 /正文

是一个数组;eventTokens是一个字符串(值的第一个元素)。双重作业是做什么的?(eventToken1和eventToken2的值是多少?)在

values = data.split("\x01")

eventTokens = values.pop(0)
eventToken1, eventToken2 = eventTokens

我在Python源代码上执行了一个输出任务,结果如下:

^{pr2}$

我的结论是vars以某种方式分割了初始字符串。不过,如果我尝试过类似的事情:

arr = ["some", "elements", "inarray"]
c = arr.pop(0)
a, b = c
print c
print a
print b

它导致异常:值错误:值太多,无法解压缩。在

注意:print不是测试环境中的参数化方法


Tags: 字符串元素data作业数组popsplitvalues
3条回答

由于eventTokens是一个长度为2的字符串,因此可以将其解压为两个单字符字符串:

>>> a, b = 'ab'
>>> a
'a'
>>> b
'b'

但是,字符串中的字符数必须与解压到的变量数匹配:

^{pr2}$

请注意,您可以将其解压到一个变量中!在

>>> a, = 'x'
>>> a
'x'
>>> a, = 'xyz'
ValueError: too many values to unpack

c = arr.pop(0)在这里返回"some",但在这一步中,您试图将值赋给2个变量(其中有4个文本),因此,a, b = c失败。在

试试这个

arr = ["some", "elements", "inarray"]
c = arr.pop(0)
a, b = arr
print c
print a
print b

变量解包是Python在一行中分配多个变量的能力。限制是表达式右侧的iterable必须与左侧变量的长度相同。否则会出现too manyto little values to unpack异常。在

如果您有一个大小为2的字符串,比如eventTokens,那么您可以:

>>>a,b = 'ab'
>>>a
'a'
>>>b
'b'

这是非常不安全的代码。如果eventTokens增长超过两个元素,代码将引发异常,程序将被关闭。在

希望这有帮助!在

相关问题 更多 >