簡體   English   中英

python將元組列表轉換為復合鍵字典

[英]python convert list of tuples to composite key dictionary

我正在嘗試將元組列表轉換為復合鍵字典,以便我可以按第一個或最后一個自定義排序:

def phone(first,last,number):
    directory = dict()
    while True: 
        first = input('enter first: ')
        if first == 'done':
            print('done')
            break
        last = input('enter last: ')
        number = input('enter number: ')
        directory[last,first] = number
        new = {((last,first), number)}
        directory.update(new)

    print(directory)   # unit test

phone(first,last,number)

輸出:

enter first: 'ricky'
enter last: 'bobby'
enter number: 1111
Traceback (most recent call last):
  File "py4e.tuples.directory.function.1.py", line 21, in <module>
    phone('first','last','number')
  File "py4e.tuples.directory.function.1.py", line 17, in phone
    directory.update(new)
TypeError: cannot convert dictionary update sequence element #1 to a sequence

我為我在這件事上花費了多少時間而感到羞恥。 你會怎么辦? 所有輸入將不勝感激。 謝謝!

dict.update使用來自其他字典的鍵/值對更新字典。 您添加的是元組而不是字典。 然后將new更改為:

new = {((last,first), number)}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM