python - 将列表转换为 ID 列表

标签 python list python-3.x

python 3.3:

从列表中获取最简单的方法是什么:

input = ["A", 112, "apple", 74, 112]

以下列表:

output = [0, 1, 2, 3, 1]

即给每个唯一的条目分配从0开始自动递增的id,并将原始列表转换为这个id的列表。

我知道,我可以通过以下方式获得便宜的类(class)数量

number_of_classes = len(set(input))

但是如何创建正确排序的输出呢?

最佳答案

您可以使用列表推导式来创建索引列表,以指示元素第一个 何时出现在该列表中。

对于输入列表i = ["A", 112, "apple", 74, 112]:

>>> [i.index(value) for value in i]
[0, 1, 2, 3, 1]

关于python - 将列表转换为 ID 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27292061/

相关文章:

python - 如何将 INI 文件转换为 CSV 文件

linq - 比较两个列表并返回不同的值和差异

python - 收到 'list index out of range' 错误

Python如何求一个目录迭代的最小移动次数——爬虫

python - ValueError:太多值无法在OpenCV项目中解压缩

使用 Sorted 对 Python 字典进行排序

Python从字典中检索所有项目

c# - 获取列表/数组的最后一个元素

python 2.7.5+ 打印列表,逗号后没有空格

python - 数组太大,无法在 matlab 中除法,但不能在 python 中除法