Tôi có từ điển python có khóa là chuỗi và giá trị là đối tượng.Python: Nhận giá trị (đối tượng) từ từ điển đối tượng trong đó một trường của đối tượng khớp với giá trị (hoặc điều kiện)
Ví dụ, một đối tượng với một chuỗi và một int
class DictItem:
def __init__(self, field1, field2):
self.field1 = str(field1)
self.field2 = int(field2)
và từ điển:
myDict = dict()
myDict["sampleKey1"] = DictItem("test1", 1)
myDict["sampleKey2"] = DictItem("test2", 2)
myDict["sampleKey3"] = DictItem("test3", 3)
nào là/cách hiệu quả nhất tốt nhất để có được những mục từ điển mà có " field2 "field> = 2?
Ý tưởng là tạo ra một "tiểu từ điển" (một danh sách sẽ làm quá) chỉ với các mục trong đó field2> = 2 (trong ví dụ này sẽ như thế nào):
{
"sampleKey2": {
"field1" : "test2",
"field2": 2
},
"sampleKey3": {
"field1" : "test3",
"field2": 3
}
}
Có cách tốt hơn là đi qua tất cả các yếu tố từ điển và kiểm tra tình trạng? Có thể sử dụng chức năng itemgetters và lambda?
Cảm ơn bạn!
PS: Tôi đang sử dụng python2.4, chỉ trong trường hợp nó có liên quan
Cảm ơn tất cả !! Đó là thông tin rất hữu ích :) – BorrajaX