可能重复:
如何将具有多个键的字典创建为一个值?
我有5列数据,
usermac, useragent, area ,videoid, number of requests
Run Code Online (Sandbox Code Playgroud)
我想使用(usermac,useragent)作为创建字典的关键字,因为(usermac,useragent)的唯一组合代表一个唯一的用户.
所以字典就像:
usermac1, useragent1: area1, videoid1, 10
area1, videoid2, 29
usermac1, useragent2: area1, videoid1, 90
area1, videoid2, 34
...
Run Code Online (Sandbox Code Playgroud)
我只知道如何创建只有一个项目作为键的字典.有人可以帮忙吗?
我的代码是:
for line in fd_in.readlines():
(mac, useragent, area, videoid, reqs) = line.split()
video_dict = d1.setdefault((mac,useragent) {})
video_dict.setdefault(videoid, []).append(float(reqs))
Run Code Online (Sandbox Code Playgroud)
它有语法错误:
video_dict = d1.setdefault((mac,useragent) {})
Run Code Online (Sandbox Code Playgroud)
Aco*_*orn 35
您可以使用任何(可散列)对象作为python字典的键,因此只需使用包含这两个值的元组作为键.
n00*_*dle 21
我相信你可以使用元组作为字典的关键.所以你有
mydict = {}
mydict[(usermac1,useragent1)] = [ [area1, videoid1, 10],[area1,videoid2,29]... ]
Run Code Online (Sandbox Code Playgroud)