Tôi có một dự án chuyển đổi cơ sở dữ liệu này sang cơ sở dữ liệu khác. Một trong các cột cơ sở dữ liệu gốc xác định danh mục của hàng. Cột này sẽ được ánh xạ tới một danh mục mới trong cơ sở dữ liệu mới.Lập bản đồ nhiều đối một Python (tạo các lớp tương đương)
Ví dụ, chúng ta hãy giả định các loại ban đầu là: parrot, spam, cheese_shop, Cleese, Gilliam, Palin
Bây giờ đó là một chút verbose cho tôi, Và tôi muốn có những hàng này được phân loại như sketch, actor
- Đó là, xác định tất cả các bản phác thảo và tất cả các diễn viên như hai lớp tương đương.
>>> monty={'parrot':'sketch', 'spam':'sketch', 'cheese_shop':'sketch',
'Cleese':'actor', 'Gilliam':'actor', 'Palin':'actor'}
>>> monty
{'Gilliam': 'actor', 'Cleese': 'actor', 'parrot': 'sketch', 'spam': 'sketch',
'Palin': 'actor', 'cheese_shop': 'sketch'}
Đó là khá awkward- Tôi muốn có một cái gì đó như:
monty={ ('parrot','spam','cheese_shop'): 'sketch',
('Cleese', 'Gilliam', 'Palin') : 'actors'}
Nhưng điều này, tất nhiên, đặt toàn bộ tuple như một chìa khóa:
>>> monty['parrot']
Traceback (most recent call last):
File "<pyshell#29>", line 1, in <module>
monty['parrot']
KeyError: 'parrot'
Bất kỳ ý tưởng làm thế nào để tạo một từ điển nhiều-một-một thanh lịch trong Python?
Cảm ơn,
Adam
Kiểm tra [answer] câu trả lời thanh lịch này (http://stackoverflow.com/a/11105962/355230) cho một câu hỏi tương tự. – martineau