【发布时间】:2018-02-19 23:01:10
【问题描述】:
如何用数字替换嵌套列表中的唯一值?
sample = [["P1","P13","P2","P2"],
["P2","P13P14","P1","P0","P1"],
["P1","P0","P3"],
["P17","P3","P15P15"],
["P1","P5"]]
从示例中我可以创建一个唯一值列表:
unique_sample = sorted(list(set(x for l in sample for x in l)))
期望的输出是为样本嵌套列表中的每个值从 unique_sample 返回索引
output = [[4,0,5,5],
[5,7,4,0,4],
[4,3,6],
[8,6,2],
[4,1]]
【问题讨论】:
-
set 是无序的,因此每次运行代码时索引都会发生变化。
-
谢谢我在列表前面添加了排序
-
@ThomasJohnson,实际数字是否重要,例如第一行输出可以是
[[1, 6, 3, 3],...吗? -
我认为你下面的答案正是我现在正在寻找的只是试图测试它