【发布时间】:2014-04-01 17:03:17
【问题描述】:
我一直在寻找从两个集合列表创建字典。如果我希望每个列表中的每个项目都标记为键和值,我了解如何执行此操作,例如:
list_one = ['a', 'b', 'c']
list_two = ['1', '2', '3']
dictionary = dict(zip(list_one, list_two))
print dictionary
{'a': 1, 'b': 2, 'c': 3}
但是,我希望将 list_two 中的所有项目用作 list_one 中第一项的值。这将触发另一个循环,list_one 中的项目将发生变化,list_two 中的项目也会发生变化。
希望这是有道理的。
任何想法都将不胜感激。
用于创建列表的代码
def local_file(domain, user_list):
cmd = subprocess.check_output(["tasklist", "/V", "/FO", "CSV"])
tasks = csv.DictReader(cmd.splitlines(), dialect="excel")
image_name = set()
users = set()
for task in tasks:
if task['User Name'] == 'N/A': continue
task_domain, task_user = task['User Name'].split('\\')
if task_user in task['User Name']:
image_name.add(task['Image Name'])
else:
pass
if domain == task_domain and task_user in user_list:
users.add(task['User Name'])
sorted(image_name)
print "Users found:\n"
print '\n'.join(users)
print "\nRuning the following services and applications.\n"
print '\n'.join(image_name)
if arguments['--app'] and arguments['--output'] == True:
keys = users
key_values = image_name
dictionary = dict(zip(list_one, list_two))
print dictionary
elif arguments['--output'] == True:
return users
else:
pass
【问题讨论】:
-
您的结果字典会是什么样子?一个预期结果的例子将有助于澄清。
-
预期输出是什么?
-
预期结果
{'c': ['8', '9', '10'], 'b': ['5', '6', '7'], 'a': ['1', '2', '3']} -
如果
list_two是一个列表列表,您的原始代码就可以正常工作
标签: python dictionary