334
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi muốn nhận được từ điều này:
keys = [1,2,3]với điều này:
{1: None, 2: None, 3: None}Có cách làm gì không?
Đây là một cách xấu xí để làm điều đó:
>>> keys = [1,2,3] >>> dict([(1,2)]) {1: 2} >>> dict(zip(keys, [None]*len(keys))) {1: None, 2: None, 3: None}
EVTOH
4343 Huy hiệu vàng8 Huy hiệu bạc21 Huy hiệu đồng3 gold badges8 silver badges21 bronze badges
hỏi ngày 11 tháng 2 năm 2010 lúc 2:43Feb 11, 2010 at 2:43
Juanjo contijuanjo contiJuanjo Conti
27.7K39 Huy hiệu vàng106 Huy hiệu bạc131 Huy hiệu Đồng39 gold badges106 silver badges131 bronze badges
1
{1: None, 2: None, 3: None} 5 Trực tiếp giải quyết vấn đề:
>>> dict.fromkeys([1, 2, 3, 4]) {1: None, 2: None, 3: None, 4: None}Đây thực sự là một lớp học, vì vậy nó cũng hoạt động cho các lớp học (như {1: None, 2: None, 3: None} 6).
Đối số thứ hai tùy chọn, mặc định là {1: None, 2: None, 3: None} 7, chỉ định giá trị sẽ sử dụng cho các khóa. Lưu ý rằng cùng một đối tượng sẽ được sử dụng cho từng khóa, có thể gây ra các vấn đề với các giá trị có thể thay đổi:
>>> x = dict.fromkeys([1, 2, 3, 4], []) >>> x[1].append('test') >>> x {1: ['test'], 2: ['test'], 3: ['test'], 4: ['test']}
Đã trả lời ngày 11 tháng 2 năm 2010 lúc 2:45Feb 11, 2010 at 2:45
Thomas Woutersthomas WoutersThomas Wouters
127K23 Huy hiệu vàng146 Huy hiệu bạc122 Huy hiệu Đồng23 gold badges146 silver badges122 bronze badges
2
Sử dụng sự hiểu biết của Dict:
>>> keys = [1,2,3,5,6,7] >>> {key: None for key in keys} {1: None, 2: None, 3: None, 5: None, 6: None, 7: None}Biểu thức giá trị được đánh giá mỗi lần, vì vậy điều này có thể được sử dụng để tạo ra một dict với các danh sách riêng biệt (giả sử) là giá trị:
>>> x = {key: [] for key in [1, 2, 3, 4]} >>> x[1] = 'test' >>> x {1: 'test', 2: [], 3: [], 4: []}
Đã trả lời ngày 11 tháng 2 năm 2010 lúc 11:18Feb 11, 2010 at 11:18
Adrien Plissonadrien PlissonAdrien Plisson
21.6K5 Huy hiệu vàng40 Huy hiệu bạc73 Huy hiệu đồng5 gold badges40 silver badges73 bronze badges
7
dict.fromkeys(keys, None)
Đã trả lời ngày 11 tháng 2 năm 2010 lúc 2:48Feb 11, 2010 at 2:48
Dominic Cooneydominic CooneyDominic Cooney
6.1381 Huy hiệu vàng25 Huy hiệu bạc38 Huy hiệu đồng1 gold badge25 silver badges38 bronze badges
4
Một danh sách hiểu có thể được sử dụng để xây dựng danh sách các cặp giá trị khóa, sau đó có thể được chuyển cho hàm tạo {1: None, 2: None, 3: None} 8. Do đó:
>>> keys = {"a", "b", "c", "d"} >>> d = dict([(key, []) for key in keys]) >>> d {'d': [], 'c': [], 'a': [], 'b': []}Biểu thức giá trị được đánh giá mỗi lần, tạo danh sách riêng biệt trong ví dụ trên:
>>> d['a'].append('test') >>> d {'d': [], 'c': [], 'a': ['test'], 'b': []}
Đã trả lời ngày 24 tháng 8 năm 2015 lúc 12:31Aug 24, 2015 at 12:31
3
Chỉ đơn giản là lặp lại và thêm các giá trị vào một từ điển trống:
{1: None, 2: None, 3: None} 0
Đã trả lời ngày 11 tháng 2 năm 2010 lúc 4:59Feb 11, 2010 at 4:59
inspectorG4dgetinspectorG4dgetinspectorG4dget
106K25 Huy hiệu vàng138 Huy hiệu bạc236 Huy hiệu Đồng25 gold badges138 silver badges236 bronze badges
0
Trong nhiều quy trình công việc mà bạn muốn đính kèm giá trị mặc định / ban đầu cho các khóa tùy ý, bạn không cần băm từng khóa trước thời hạn. Bạn có thể sử dụng {1: None, 2: None, 3: None} 6. Ví dụ:
{1: None, 2: None, 3: None} 1Điều này hiệu quả hơn, nó tiết kiệm cho việc băm tất cả các khóa của bạn khi tức thời. Hơn nữa, >>> keys = [1,2,3] >>> dict([(1,2)]) {1: 2} >>> dict(zip(keys, [None]*len(keys))) {1: None, 2: None, 3: None} 0 là một lớp con của {1: None, 2: None, 3: None} 8, vì vậy thường không cần phải chuyển đổi trở lại từ điển thông thường.
Đối với các quy trình công việc mà bạn yêu cầu điều khiển trên các khóa cho phép, bạn có thể sử dụng {1: None, 2: None, 3: None} 5 theo câu trả lời được chấp nhận:
{1: None, 2: None, 3: None} 2Đã trả lời ngày 17 tháng 12 năm 2018 lúc 11:47Dec 17, 2018 at 11:47
JPPJPPjpp
152K32 Huy hiệu vàng259 Huy hiệu bạc319 Huy hiệu đồng32 gold badges259 silver badges319 bronze badges
Chỉ vì thật vui khi hàm tạo {1: None, 2: None, 3: None} 8 hoạt động độc đáo với >>> keys = [1,2,3] >>> dict([(1,2)]) {1: 2} >>> dict(zip(keys, [None]*len(keys))) {1: None, 2: None, 3: None} 4, bạn có thể >>> keys = [1,2,3] >>> dict([(1,2)]) {1: 2} >>> dict(zip(keys, [None]*len(keys))) {1: None, 2: None, 3: None} 5 giá trị mặc định và >>> keys = [1,2,3] >>> dict([(1,2)]) {1: 2} >>> dict(zip(keys, [None]*len(keys))) {1: None, 2: None, 3: None} 4 nó cho các khóa:
{1: None, 2: None, 3: None} 3Sẽ cho:
{1: None, 2: None, 3: None}>>> keys = [1,2,3] >>> dict([(1,2)]) {1: 2} >>> dict(zip(keys, [None]*len(keys))) {1: None, 2: None, 3: None} 5 tạo ra một trình lặp vô hạn của phần tử được truyền cho nó nhưng khi >>> keys = [1,2,3] >>> dict([(1,2)]) {1: 2} >>> dict(zip(keys, [None]*len(keys))) {1: None, 2: None, 3: None} 4 dừng lại trên một thời gian ngắn nhất có thể hoạt động tốt.
Đã trả lời ngày 9 tháng 3 lúc 8:45Mar 9 at 8:45
TomerikootomerikooTomerikoo
16.7K15 Huy hiệu vàng38 Huy hiệu bạc54 Huy hiệu đồng15 gold badges38 silver badges54 bronze badges