0
Name = []
Address = []
for a in range(1):
    Name = raw_input ('Enter Name: ')
    Address = raw_input ('Enter Address: ')
    print Name
    print Address
    print [dict(zip(Name, e)) for  e in Address]
    a +=1

これは私が得ているものです

Enter Name: Kapil
Enter Address: Soni
Kapil
Soni
[{'K': 'S'}, {'K': 'o'}, {'K': 'n'}, {'K': 'i'}]

私は以下のように作成したい

{'Kapil':'Soni'}

私は何を間違っていますか?

4

4 に答える 4

5

名前のリストと入力変数に同じ名前を使用して、単一の名前を保持しています。これを試して:

name_address_pairs = []

for a in range(1):
    name = raw_input ('Enter Name: ')
    address = raw_input ('Enter Address: ')
    print name
    print address
    name_address_pairs.append( { name: address } )

(ちなみに、慣例により、変数名は小文字で始める必要があります。)

于 2013-06-13T15:53:45.757 に答える
4
addressbook = {}
for a in range(1):
    name = raw_input ('Enter Name: ')
    address = raw_input ('Enter Adress: ')
    addressbook[name] = address
print addressbook

names = []
addresses = []
for a in range(1):
    name = raw_input ('Enter Name: ')
    address = raw_input ('Enter Adress: ')
    names.append(name)
    addresses.append(address)
print dict(zip(names, addresses))
于 2013-06-13T15:54:37.573 に答える
0

定義してから、データ型を文字列に変更するものName = []を割り当てます。Name = input()

また、文字列を圧縮すると、文字列がリストに変換されます。例えば

print zip('foo','bar')
# will produce
[('f', 'b'), ('o', 'a'), ('o', 'r')]

やりたいことはシンプルに

# in the beginning
address_book = []

# and in your loop
print { Name : Address }
address_book[ Name ] = Address
于 2013-06-13T15:55:00.653 に答える
0

これを行う簡単な方法があります。

print "{",Name,":",Address,"}"

受け取ったすべての入力を単一の辞書に追加する場合は、次のようにします。

dictionary={}
for a in range(20):
    Name=raw_input()
    Address=raw_input()
    dictionary[Name]=Address
于 2013-06-13T15:55:37.453 に答える