How to fix ValueError: not enough values to unpack (expected 3, got 1) in Python?

How to fix ValueError: not enough values to unpack (expected 3, got 1) in Python?

我有一个名为 records 的数据集,数据集样本如下所示:

first_record = records[0]
print(first_record)
_____________________________
['1', '1001', 'Movie']

我想提取每个值以进行进一步计算,当我执行以下代码时:

for user, item, tag in first_record :
    print(user, item, tag)

我有这个错误:

----> 1 for user, item, tag in first_record :
      2     print(user, item, tag)

ValueError: not enough values to unpack (expected 3, got 1)

如何提取数据集中对应于我的用户、项目、标签变量的每个值?

看起来您打算遍历 records,而不是 first_recordrecords 列表中的第一个元素),并为每条记录打印这三个值:

for user, item, tag in records:
    print(user, item, tag)

您正在尝试遍历一维列表,因此出现了问题。您可以像这样将其转换为二维列表

first_record = [records[0]]

那你应该可以迭代

for user, item, tag in first_record :
    print(user, item, tag)

编辑:正如评论中指出的那样,如果您只使用记录[0],那么最好不要迭代,而是像这样直接分配值

user, item, tag = first_record
print(user, item, tag)

如果first_record只有这3个元素可以直接赋值变量如下:

first_record = ['1', '1001', 'Movie']                                                                               
user,item,tag = first_record                                                   
print (user,item,tag)