我试图使用这两个列表创建一个字典,循环遍历该字典的排序版本。打印出名称,后跟空格,后跟冒号,后跟空格,最后是别名。 例如。斯特林:公爵夫人 把我所做的字面上只打印出名称字典。 ??
name = ["Stirling","Lana","Cyril","Pam","Ray","Cheryl"]
alias =["Duchess","Truckasaurus","Chet","Cookie Monster","Gilles de Rais","Cherlene"]
randomV = {}
for i in range(0,len(name)):
item = [name, alias]
for word in name and alias:
print(item)
答案 0 :(得分:3)
我想你想要
names = ["Stirling","Lana","Cyril","Pam","Ray","Cheryl"]
aliases =["Duchess","Truckasaurus","Chet","Cookie Monster","Gilles de Rais","Cherlene"]
for name, alias in zip(names, aliases):
print "{} : {}".format(name, alias)
创建单个字典d = dict(zip(names, aliases))
。
您的尝试有几个问题:item
每次通过第一个循环都是相同的值,因为您实际上从未使用i
的值,而name and alias
只是评估为第一个非空列表(即name
)。你想要或许
items = []
for i in range(len(name)):
item[i] = (name[i], alias[i])
for word in items:
print(word[0], ":", word[1])
答案 1 :(得分:0)
要从两个列表中获取dict
,请创建两个列表的压缩版本并将其输入到dict
。您将获得带有映射的字典对象。
# If order of insertion does not matter
dict(zip(names, aliases))
# OrderedDict if order matters
>>> from collections import OrderedDict
>>> OrderedDict(zip(name, alias))
示例运行:
>>> name = ["Stirling","Lana","Cyril","Pam","Ray","Cheryl"]
>>> alias =["Duchess","Truckasaurus","Chet","Cookie Monster","Gilles de Rais","Cherlene"]
>>> dict(zip(name, alias))
{'Cheryl': 'Cherlene', 'Cyril': 'Chet', 'Lana': 'Truckasaurus', 'Stirling': 'Duchess', 'Pam': 'Cookie Monster', 'Ray': 'Gilles de Rais'}
如果您只想打印内容,则无需输入dict。只需遍历压缩列表:
for name, alias in zip(names, aliases):
print "{} : {}".format(name, alias)
由于您已明确提及使用range()
。它可以通过以下方式完成:
list_len = len(names) # OR, len(aliases), assuming both will have same length
my_dict = {}
for i in range(list_len):
my_dict[names[i]] = aliases[i] # for creating dict
print "{} : {}".format(names[i], aliases[i]) # for printing content
答案 2 :(得分:0)
该词典的排序版本。
字典在python中的性质是未分类的,但这并不重要,因为你需要的只是获得与之相关的值的关键。
name = ["Stirling","Lana","Cyril","Pam","Ray","Cheryl"]
alias =["Duchess","Truckasaurus","Chet","Cookie Monster","Gilles de Rais","Cherlene"]
dict = {}
for i in range(len(name)):
dict[name[i]] = alias[i]
如果您想打印字典中的项目,可以使用:
for key in dict:
print(key + " : " + dict[key])