假设我有一个字符串列表:
["dog", "cat" ,"boy", "cat", "car", "bus",....]
Run Code Online (Sandbox Code Playgroud)
我想把它转换成这样的字典:
{"dog": ["cat"], "cat":["boy","car"], "boy": ["cat"], "car":["bus"]....}
Run Code Online (Sandbox Code Playgroud)
将列表中的每个字符串转换为键并将以下字符串作为列表转换为值的最佳方法是什么?有时候我用相同的键得到的值很少,所以我想把它们放在一起(比如上面字典的第二个索引).
lst = ["dog", "cat" ,"boy", "cat", "car", "bus"]
pairs = zip(lst, lst[1:]) # [("dog", "cat"), ("cat", "boy"), ...]
d = {}
for k,v in pairs:
d.setdefault(k, []) # Set e.g. d["dog"] to [] if there is no d["dog"] yet
d[k].append(v)
Run Code Online (Sandbox Code Playgroud)