我有一个样本列表
a = ['be','see','tree'....]
用户将提供raw_input
作为名称。然后,它必须打印名称以及列表中的每个单词,然后需要找到名称的总字符数以及列表中的每个单词。
Atlast,我需要将它存储在字典中。
如: -
raw_input
name
= 'jean'
,然后必须打印:
jean be
jean see
jean tree
然后我需要在字典中存储: -
{'jean be':'6','jean see':'7','jean tree':'8'}
我的编码:
a=['be','see','tree']
x = raw_input("Enter the query x ")
for item in a:
length =len(item[i] + x)
我不确定,它是多么正确,我不知道如何将它存储在字典中。
答案 0 :(得分:2)
您可以使用字典理解将项目保存在字典中:
>>> inp=raw_input()
>>> {inp+' '+i:len(inp+i) for i in a}
{'jean see': 7, 'jean be': 6, 'jean tree': 8}
并使用for
循环打印欲望对:
>>> for i in a:
... print inp+' '+i
...
jean be
jean see
jean tree
但由于没有订购词典,您可以使用collections.OrderedDict
创建一个有序的词典:
>>> from collections import OrderedDict
>>> D=OrderedDict()
>>> for k,v in sorted(((inp+' '+i,len(inp+i)) for i in a),key=lambda x:x[1]):
... D[k]=v
...
>>> D
OrderedDict([('jean be', 6), ('jean see', 7), ('jean tree', 8)])
答案 1 :(得分:1)
当您有权访问item[i]
时,您的错误是尝试使用i
(item
未定义)。看看这个:
a=['be','see','tree']
x = raw_input("Enter the query x ")
d = dict()
for item in a:
d[x + ' ' + item] = len(x + item)
print d
答案 2 :(得分:0)
a=['be','see','tree']
somedict = {}
x = raw_input("Enter the query x ")
for i in a:
neww = x+" "+i
print neww
somedict[neww] = len(neww)
print somedict
输出:
Enter the query x {'john tree': 9, 'john be': 7, 'john see': 8}