Hướng dẫn python add value to list of dictionaries - python thêm giá trị vào danh sách từ điển

Tôi có một danh sách các từ điển và muốn thêm một khóa cho từng yếu tố của danh sách này. Tôi đã thử:

result = [ item.update[{"elem":"value"}] for item in mylist ]

Nhưng phương thức cập nhật không trả về không, vì vậy danh sách kết quả của tôi không có gì.

result = [ item["elem"]="value" for item in mylist ]

Trả về một lỗi cú pháp.

Hỏi ngày 28 tháng 12 năm 2012 lúc 14:33Dec 28, 2012 at 14:33

1

Nếu bạn muốn sử dụng danh sách hiểu biết, có một câu trả lời tuyệt vời ở đây: //stackoverflow.com/a/3197365/4403872

Trong trường hợp của bạn, nó sẽ như thế này:

result = [dict[item, **{'elem':'value'}] for item in myList]

Eg.:

myList = [{'a': 'A'}, {'b': 'B'}, {'c': 'C', 'cc': 'CC'}]

Sau đó sử dụng một trong hai

result = [dict[item, **{'elem':'value'}] for item in myList]

hoặc

result = [dict[item, elem='value'] for item in myList]

Finally,

>>> result
[{'a': 'A', 'elem': 'value'},
 {'b': 'B', 'elem': 'value'},
 {'c': 'C', 'cc': 'CC', 'elem': 'value'}]

Đã trả lời ngày 13 tháng 1 năm 2016 lúc 2:40Jan 13, 2016 at 2:40

vk1011vk1011vk1011

6.8355 huy hiệu vàng25 Huy hiệu bạc42 Huy hiệu đồng5 gold badges25 silver badges42 bronze badges

0

Bạn không cần phải lo lắng về việc xây dựng một danh sách từ điển mới, vì các tham chiếu đến từ điển cập nhật của bạn giống như các tài liệu tham khảo cho từ điển cũ của bạn:

 for item in mylist:
    item.update[ {"elem":"value"}]

Đã trả lời ngày 28 tháng 12 năm 2012 lúc 14:37Dec 28, 2012 at 14:37

0

Bạn có thể sử dụng bản đồ.

result = map[lambda item: dict[item, elem='value'], myList]

Nếu bạn đã có danh sách các câu chuyện bạn có thể làm:

#elements = ['value'] * len[myList]
result = map[lambda item: dict[item[0], elem=item[1]],zip[myList,elements]]

sau đó bạn có kết quả

Đã trả lời ngày 16 tháng 7 năm 2017 lúc 12:22Jul 16, 2017 at 12:22

Câu trả lời của @VK1011 là tốt và có thể được mở rộng với nhà điều hành lan truyền một cách chính xác và các đối tượng từ điển mới là một lợi ích bổ sung

  1. Để ghi đè bất kỳ giá trị khóa hiện có nào với giá trị mới, bạn có thể đặt toán tử lan truyền trước mục mới

    result = [ item["elem"]="value" for item in mylist ]
    
    0
  2. Để ghi đè giá trị của mục nhập mới với một giá trị hiện có, hãy sử dụng toán tử lây lan sau mục mới

    result = [ item["elem"]="value" for item in mylist ]
    
    1

Cả hai phương pháp sẽ đưa ra một danh sách các đối tượng từ điển bao gồm cả mục mới

Đã trả lời ngày 13 tháng 11 năm 2018 lúc 15:27Nov 13, 2018 at 15:27

Theo truyền thống nhưng nhanh hơn câu trả lời khác [tinh vi]:

result = [ item["elem"]="value" for item in mylist ]
2

Một số thời gian:

result = [ item["elem"]="value" for item in mylist ]
3

Đã trả lời ngày 11 tháng 5 năm 2021 lúc 15:08May 11, 2021 at 15:08

Eideideid

3672 Huy hiệu bạc10 Huy hiệu Đồng2 silver badges10 bronze badges

result = [ item["elem"]="value" for item in mylist ]
4

Bạn đang sử dụng danh sách hiểu không chính xác, cuộc gọi đến

result = [ item["elem"]="value" for item in mylist ]
6 trả về giá trị
result = [ item["elem"]="value" for item in mylist ]
7 và do đó, danh sách mới được tạo của bạn sẽ có đầy đủ các giá trị
result = [ item["elem"]="value" for item in mylist ]
7 thay vì các giá trị
result = [ item["elem"]="value" for item in mylist ]
9 dự kiến ​​của bạn.

Bạn chỉ cần lặp qua các mục trong danh sách và cập nhật từng mục tương ứng, vì danh sách chứa các tham chiếu đến các giá trị

result = [ item["elem"]="value" for item in mylist ]
9.

Đã trả lời ngày 28 tháng 12 năm 2012 lúc 14:37Dec 28, 2012 at 14:37

Bạn có thể sử dụng bản đồ.sean

Nếu bạn đã có danh sách các câu chuyện bạn có thể làm:21 silver badges28 bronze badges

sau đó bạn có kết quả

result = [ item["elem"]="value" for item in mylist ]
5

Đã trả lời ngày 16 tháng 7 năm 2017 lúc 12:22Dec 28, 2012 at 14:38

Câu trả lời của @VK1011 là tốt và có thể được mở rộng với nhà điều hành lan truyền một cách chính xác và các đối tượng từ điển mới là một lợi ích bổ sungMartijn Pieters

Để ghi đè bất kỳ giá trị khóa hiện có nào với giá trị mới, bạn có thể đặt toán tử lan truyền trước mục mới275 gold badges3893 silver badges3248 bronze badges

0

Làm thế nào để bạn thêm một giá trị vào một danh sách giá trị từ điển?

Để nối một phần tử vào từ điển hiện có, bạn phải sử dụng tên từ điển theo sau là dấu ngoặc vuông với tên khóa và gán một giá trị cho nó.use the dictionary name followed by square brackets with the key name and assign a value to it.

Làm cách nào để thêm nhiều từ điển vào danh sách trong Python?

Làm thế nào để hợp nhất từ ​​điển trong Python ?..
1] Sử dụng phương thức Update [] ..
2] Sử dụng toán tử hợp nhất [|] ..
3] Sử dụng toán tử ** ..
4] Giải nén từ điển thứ hai ..
5] Sử dụng Phương thức Collection.ChainMap [] ..
6] Sử dụng itertools. chuỗi[].
7] Sử dụng khả năng hiểu từ điển ..
8] Thêm giá trị của các khóa chung ..

Bạn có thể thêm vào giá trị từ điển trong Python không?

Không có phương thức ADD [], append [] hoặc chèn [] bạn có thể sử dụng để thêm một mục vào từ điển trong Python.Thay vào đó, bạn thêm một mục vào từ điển bằng cách chèn khóa chỉ mục mới vào từ điển, sau đó gán cho nó một giá trị cụ thể.you add an item to a dictionary by inserting a new index key into the dictionary, then assigning it a particular value.

Giá trị trong từ điển Python có thể là một danh sách không?

Nó chắc chắn có thể có một danh sách và bất kỳ đối tượng nào là giá trị nhưng từ điển không thể có một danh sách là khóa vì danh sách là cấu trúc dữ liệu có thể thay đổi và các khóa không thể thay đổi những gì sử dụng chúng. but the dictionary cannot have a list as key because the list is mutable data structure and keys cannot be mutable else of what use are they.

Chủ Đề