TypeError:“范围”对象不支持项目分配

发布于 2021-01-29 19:34:17

我正在查看一些python 2.x代码,并尝试将其翻译为,py 3.x但是我仍然停留在本节中。任何人都可以澄清出什么问题吗?

import random

emails = {
    "x": "[REDACTED]@hotmail.com",
    "x2": "[REDACTED]@hotmail.com",
    "x3": "[REDACTED]@hotmail.com"
}

people = emails.keys()

#generate a number for everyone
allocations = range(len(people))
random.shuffle(allocations)

这是给出的错误:

TypeError: 'range' object does not support item assignment
关注者
0
被浏览
90
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    在Python 3中,range返回一个惰性序列对象-它不返回列表。无法重新排列范围对象中的元素,因此不能重新排列它。

    改组之前将其转换为列表。

    allocations = list(range(len(people)))
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看