【发布时间】:2015-03-27 18:36:36
【问题描述】:
我正在阅读一本关于 Python3 和线性代数的书。我正在尝试获取格式为“name junk junk 1 1 1 1 1”的字符串,并制作一个字典,其中的名称和数字从字符串转换为整数。即 {name:[1,1,1,1,1]} 但我不太清楚循环,因为我是 python 新手。这是我的代码:
string = 'Name junk junk -1 -1 1 1'
for i, x in string.split(" "):
if i == 0:
a = x
if i > 2:
b = int(x)
运行该代码会产生以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack (expected 2)
理想情况下,我也希望它是一种理解。但如果我能得到循环,我可能会弄清楚那部分。
【问题讨论】:
-
在 Python 中,赋值是(仅)语句,而不是表达式。我不确定您要对 a 和 b 做什么,但可能很难将其转换为单个理解,因为理解的第一个元素是表达式。
-
那个“垃圾垃圾”呢?只是垃圾?