2010-09-28 42 views
26

thể trùng lặp:
syntax to insert one list into another list in pythoncú pháp để tạo một từ điển vào trong từ điển khác trong python

Làm thế nào có thể là cú pháp để tạo một từ điển vào trong từ điển khác trong python

+4

Bạn đang sử dụng hướng dẫn nào để học Python? –

+3

có thể trùng lặp của [cú pháp để chèn một danh sách vào danh sách khác trong python] (http://stackoverflow.com/questions/3748063/syntax-to-insert-one-list-into-another-list-in-python) (Vâng, tôi hoàn toàn hiểu rằng danh sách không phải là từ điển, nhưng nó giống như câu hỏi tương tự một lần nữa với các từ khác nhau. Tiếp theo, tạo các bộ tuples bên trong bộ dữ liệu là gì?) –

+0

hơn nữa, đó là bởi cùng một người dùng. Bạn sẽ nghĩ một ví dụ là đủ. – aaronasterling

Trả lời

5
dict1 = {} 

dict1['dict2'] = {} 

print dict1 

>>> {'dict2': {},} 

điều này thường được gọi là bộ lặp lồng nhau vào các trình lặp khác, tôi nghĩ rằng

80

Bạn có thể tuyên bố một cuốn từ điển bên trong một cuốn từ điển bằng cách xếp lồng các {} container:

d = {'dict1': {'foo': 1, 'bar': 2}, 'dict2': {'baz': 3, 'quux': 4}} 

Và sau đó bạn có thể truy cập vào các yếu tố sử dụng [] cú pháp:

print d['dict1']   # {'foo': 1, 'bar': 2} 
print d['dict1']['foo'] # 1 
print d['dict2']['quux'] # 4 

Với trên, nếu bạn muốn thêm một từ điển khác vào từ điển, nó có thể được thực hiện như sau:

d['dict3'] = {'spam': 5, 'ham': 6} 

hoặc nếu bạn muốn thêm các mục vào từ điển nội bộ từng cái một:

d['dict4'] = {} 
d['dict4']['king'] = 7 
d['dict4']['queen'] = 8 
+0

Làm cách nào để thêm cụm từ chung để gọi các phần tử? Thay vì viết 'dict1', bạn có thể gọi phần tử đầu tiên đó như thế nào (Trong trường hợp nó không được gọi là 'dict1') ** Ở phần in – ono

2

Bạn muốn chèn một từ điển vào một từ điển khác, hoặc bạn muốn tham chiếu giá trị của một từ điển từ chìa khóa của người khác?

Câu trả lời trước đã bao gồm trường hợp đầu tiên, nơi bạn đang tạo từ điển trong từ điển khác.

Để lại tham khảo các giá trị của một từ điển thành khác, bạn có thể sử dụng dict.update:

>>> d1 = {1: [1]} 
>>> d2 = {2: [2]} 
>>> d1.update(d2) 
>>> d1 
{1: [1], 2: [2]} 

Một sự thay đổi đến một giá trị đó là hiện diện trong hai cuốn từ điển sẽ được hiển thị trong cả hai:

>>> d1[2].append('appended') 
>>> d1 
{1: [1], 2: [2, 'appended']} 
>>> d2 
{2: [2, 'appended']} 

Điều này giống như sao chép giá trị trên hoặc tạo từ điển mới với nó, tức là

>>> d3 = {1: d1[1]} 
>>> d3[1].append('appended from d3') 
>>> d1[1] 
[1, 'appended from d3'] 
Các vấn đề liên quan