【发布时间】:2017-04-04 09:25:43
【问题描述】:
我有一个清单,可以说
L = ['apple','bat','apple','car','pet','bat'].
我想把它转换成
Lnew = [ 1,2,1,3,4,2]。
每个唯一的字符串都与一个数字相关联。
我有一个使用hashmap 的java 解决方案,但我不知道如何在python 中使用hashmap。
请帮忙。
【问题讨论】:
-
你尝试了什么?
-
python 中的字典像 hashmap 一样工作
-
@RaminNietzsche,我不能代表 Java 的 hashmap,但是 Python 的 dicts 没有给出提问者想要的整数索引,尤其是按字母顺序排序的(没有特别要求,但在他们想要的输出)。
-
如何计算出与字符串关联的数字?
-
@RaminNietzsche,不过,您的想法是对的,您可以使用 dict 以这种方式创建映射:
d = {k: v for v, k in enumerate(sorted(set(L)))},然后是Lnew = [d[x] for x in L。
标签: python