[英]How to print all values specific of a key?
Trying to print all values associated a one key, for example: 尝试打印与一个键关联的所有值,例如:
Search by marcus, I'd like to return 5 lines. 按马库斯搜索,我想返回5行。
Dict: 词典:
marcus {'TIME': 'Mar 3 15:49:33', 'CONNECTION': 'logout'}
fabin {'TIME': 'Mar 3 00:20:16', 'CONNECTION': 'login'}
marcus {'TIME': 'Mar 3 15:49:29', 'CONNECTION': 'logout'}
peter {'TIME': 'Mar 3 13:36:16', 'CONNECTION': 'logout'}
marcus {'TIME': 'Mar 3 14:28:56', 'CONNECTION': 'logout'}
peter {'TIME': 'Mar 3 02:17:34', 'CONNECTION': 'logout'}
marcus {'TIME': 'Mar 3 18:12:50', 'CONNECTION': 'logout'}
fabin {'TIME': 'Mar 3 22:50:15', 'CONNECTION': 'logout'}
peter {'TIME': 'Mar 3 15:14:16', 'CONNECTION': 'logout'}
marcus {'TIME': 'Mar 3 08:19:17', 'CONNECTION': 'login'}
peter {'TIME': 'Mar 3 15:16:45', 'CONNECTION': 'logout'}
fabin {'TIME': 'Mar 3 15:30:10', 'CONNECTION': 'logout'}
carl {'TIME': 'Mar 3 15:49:33', 'CONNECTION': 'logout'}
I dont know, if it is the most simple way, but is only return the last line. 我不知道,如果这是最简单的方法,但只返回最后一行。
for k,v in dict.items():
if user in k:
print v
output: marcus {'TIME': 'Mar 3 08:19:17', 'CONNECTION': 'login'}
I suspect you have been adding items to a dictionary, and a dictionary can only have unique keys. 我怀疑您一直在向字典添加项目,并且字典只能具有唯一键。 Consider:
考虑:
D = {'marcus':{'TIME': 'Mar 3 15:49:33', 'CONNECTION': 'logout'},
'fabin':{'TIME': 'Mar 3 00:20:16', 'CONNECTION': 'login'},
'marcus':{'TIME': 'Mar 3 15:49:29', 'CONNECTION': 'logout'},
'peter':{'TIME': 'Mar 3 13:36:16', 'CONNECTION': 'logout'},
'marcus':{'TIME': 'Mar 3 14:28:56', 'CONNECTION': 'logout'},
'peter':{'TIME': 'Mar 3 02:17:34', 'CONNECTION': 'logout'},
'marcus':{'TIME': 'Mar 3 18:12:50', 'CONNECTION': 'logout'},
'fabin':{'TIME': 'Mar 3 22:50:15', 'CONNECTION': 'logout'},
'peter':{'TIME': 'Mar 3 15:14:16', 'CONNECTION': 'logout'},
'marcus':{'TIME': 'Mar 3 08:19:17', 'CONNECTION': 'login'},
'peter':{'TIME': 'Mar 3 15:16:45', 'CONNECTION': 'logout'},
'fabin':{'TIME': 'Mar 3 15:30:10', 'CONNECTION': 'logout'},
'carl':{'TIME': 'Mar 3 15:49:33', 'CONNECTION': 'logout'}}
for k,v in D.items():
print(k,v)
if k == 'marcus':
print(v)
Output (matches described behavior): 输出(匹配描述的行为):
{'TIME': 'Mar 3 08:19:17', 'CONNECTION': 'login'}
Though it looks like there are multiples, a dictionary is only going to keep the last entry of a unique key. 虽然看起来像是倍数,但是字典只会保留唯一键的最后一个条目。 If you need multiple instances of the same name, you need a different structure.
如果需要具有相同名称的多个实例,则需要不同的结构。 Instead of a (suspected) dict of dicts, use a list of dicts:
代替(可疑的)命令,使用命令列表:
L = [{'NAME':'marcus','TIME':'Mar 3 15:49:33','CONNECTION':'logout'},
{'NAME':'fabin','TIME':'Mar 3 00:20:16','CONNECTION':'login'},
{'NAME':'marcus','TIME':'Mar 3 15:49:29','CONNECTION':'logout'},
{'NAME':'peter','TIME':'Mar 3 13:36:16','CONNECTION':'logout'},
{'NAME':'marcus','TIME':'Mar 3 14:28:56','CONNECTION':'logout'},
{'NAME':'peter','TIME':'Mar 3 02:17:34','CONNECTION':'logout'},
{'NAME':'marcus','TIME':'Mar 3 18:12:50','CONNECTION':'logout'},
{'NAME':'fabin','TIME':'Mar 3 22:50:15','CONNECTION':'logout'},
{'NAME':'peter','TIME':'Mar 3 15:14:16','CONNECTION':'logout'},
{'NAME':'marcus','TIME':'Mar 3 08:19:17','CONNECTION':'login'},
{'NAME':'peter','TIME':'Mar 3 15:16:45','CONNECTION':'logout'},
{'NAME':'fabin','TIME':'Mar 3 15:30:10','CONNECTION':'logout'},
{'NAME':'carl','TIME':'Mar 3 15:49:33','CONNECTION':'logout'}]
for d in L:
if d['NAME'] == 'marcus':
print(d)
Output: 输出:
{'NAME': 'marcus', 'TIME': 'Mar 3 15:49:33', 'CONNECTION': 'logout'}
{'NAME': 'marcus', 'TIME': 'Mar 3 15:49:29', 'CONNECTION': 'logout'}
{'NAME': 'marcus', 'TIME': 'Mar 3 14:28:56', 'CONNECTION': 'logout'}
{'NAME': 'marcus', 'TIME': 'Mar 3 18:12:50', 'CONNECTION': 'logout'}
{'NAME': 'marcus', 'TIME': 'Mar 3 08:19:17', 'CONNECTION': 'login'}
Another option is a dict of lists, appending each infodict in the value of the user key: 另一个选项是列表的字典,将每个infodict附加到用户键的值中:
D = {'marcus':[{'TIME':'Mar 3 15:49:33','CONNECTION':'logout'},
{'TIME':'Mar 3 15:49:29','CONNECTION':'logout'},
{'TIME':'Mar 3 14:28:56','CONNECTION':'logout'},
{'TIME':'Mar 3 18:12:50','CONNECTION':'logout'},
{'TIME':'Mar 3 08:19:17','CONNECTION':'login'}],
'fabin':[{'TIME':'Mar 3 00:20:16','CONNECTION':'login'},
{'TIME':'Mar 3 22:50:15','CONNECTION':'logout'},
{'TIME':'Mar 3 15:30:10','CONNECTION':'logout'}],
'peter':[{'TIME':'Mar 3 13:36:16','CONNECTION':'logout'},
{'TIME':'Mar 3 02:17:34','CONNECTION':'logout'},
{'TIME':'Mar 3 15:14:16','CONNECTION':'logout'},
{'TIME':'Mar 3 15:16:45','CONNECTION':'logout'}],
'carl':[{'TIME':'Mar 3 15:49:33','CONNECTION':'logout'}]}
for item in D['marcus']:
print(item)
Output: 输出:
{'TIME': 'Mar 3 15:49:33', 'CONNECTION': 'logout'}
{'TIME': 'Mar 3 15:49:29', 'CONNECTION': 'logout'}
{'TIME': 'Mar 3 14:28:56', 'CONNECTION': 'logout'}
{'TIME': 'Mar 3 18:12:50', 'CONNECTION': 'logout'}
{'TIME': 'Mar 3 08:19:17', 'CONNECTION': 'login'}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.