ai didi

python - 在 for 循环中使用 str.split 时为 "ValueError too many values to unpack"

转载 作者:行者123 更新时间:2023-11-28 20:01:48 24 4
gpt4 key购买 nike

我之前遇到过这个错误,原因很明显,但我在处理下面的这段代码时遇到了问题。

#!/usr/bin/python

ACL = 'group:troubleshooters:r,user:auto:rx,user:nrpe:r'

for e in ACL.split(','):
print 'e = "%s"' % e
print 'type during split = %s' % type(e.split(':'))
print 'value during split: %s' % e.split(':')
print 'number of elements: %d' % len(e.split(':'))
for (one, two, three) in e.split(':'):
print 'one = "%s", two = "%s"' % (one, two)

我已经添加了这些用于调试的打印语句,并确认拆分正在生成一个 3 元素列表,但是当我尝试将其放入 3 个变量时,我得到:

e = "group:troubleshooters:r"
type during split = <type 'list'>
value during split: ['group', 'troubleshooters', 'r']
number of elements: 3
Traceback (most recent call last):
File "/tmp/python_split_test.py", line 10, in <module>
for (one, two, three) in e.split(':'):
ValueError: too many values to unpack

我错过了什么?

最佳答案

也许你应该:

one, two, three = e.split(":")

因为 e.split(":") 已经是一个具有三个值的可迭代对象。

如果你写

for (one, two, three) in something

那么 something 必须是三个值的可迭代对象中的可迭代对象,例如[[1, 2, 3], [4, 5, 6]],但不是 [1, 2, 3]

关于python - 在 for 循环中使用 str.split 时为 "ValueError too many values to unpack",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50054003/

24 4 0
文章推荐: javascript - 使用 Jquery 进行动画(条形随着时间的推移而填满)(建议)
文章推荐: python - 训练时设置 "training=False"of "tf.layers.batch_normalization"会得到更好的验证结果
文章推荐: ios - 如何知道在 activityController setCompletionHandler 被调用之前 UIActivityViewController 中点击了哪个图标?
文章推荐: python - 极差的预测 : LSTM time-series
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com