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/