- Tìm số 0 đầu tiên trong một mảng bit
- Unix Hiển thị thông tin về các tập tin khớp với một trong hai mẫu
- Biểu thức chính quy thay thế nhiều tệp
- Ẩn lệnh từ xtrace
我有一个奇怪的情况。我有一个字典,self.containing_dict
。使用调试器,我看到了字典的内容,并且可以看到 bản thân
是其中的一个键。但是看看这个:
>>> self in self.containing_dict
SAI
>>> self in self.containing_dict.keys()
ĐÚNG VẬY
>>> self.containing_dict.has_key(self)
SAI
这是怎么回事?
(我会注意到这是一段在弱引用回调上执行的代码。)
làm mới:我被要求展示bản thân
của__hash__
实现。在这里:
def __hash__(self):
return hash(
(
tuple(sorted(tuple(self.args))),
self.star_args,
tuple(sorted(tuple(self.star_kwargs)))
)
)
args = property(lambda self: dict(self.args_refs))
star_args = property(
lambda self:
tuple((star_arg_ref() for star_arg_ref in self.star_args_refs))
)
star_kwargs = property(lambda self: dict(self.star_kwargs_refs))
1 Câu trả lời
你描述的问题只能是bản thân
引起的已实现__eq__
(或 __cmp__
)而不实现随附的 __hash__
.如果你没有实现 __hash__
方法,你应该这样做——通常你不能使用定义 __eq__
的对象但不是 __hash__
作为字典键,但是如果你继承了一个 __hash__
可能会错过。
如果你执行 __hash__
,你必须确保它以正确的方式运行:结果在对象的生命周期内不能改变(或者至少只要对象被用作字典键或设置项),并且它必须与__eq__
.对象的哈希值phải与其相等的对象相同(根据其 __eq__
hoặc __cmp__
。)对象的哈希值khả thi与其对应的对象不同不等于,但不一定是。这些要求还意味着您不能获得 __eq__
的结果。在对象的生命周期内发生变化,这就是为什么可变对象通常不能用作字典键的原因。
如果您的 __hash__
Và __eq__
不匹配,Python 将无法在字典和集合中找到该对象,但它仍会显示在 dict.keys()
中和 list(set)
,这就是你在这里描述的。通常的实现方式__hash__
方法是返回 hash()
您在 __eq__
中使用的任何属性或 __cmp__
phương pháp.
关于Python: `key not in my_dict` 但 `key in my_dict.keys()`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3701220/
Khi kiểm tra lệnh "mysqldump -d" và thấy một khóa là KEY, không phải "PRIMARY KEY" hoặc "FOREIGN KEY" (KHÓA CHÍNH) thì KEY là gì? Ví dụ: CREATE TABLE IF NOT EXISTS `TA
Tôi đang cố gắng tìm ra phương pháp viết mã tốt nhất khi bắt đầu sử dụng Python. Tôi đã viết một trình đọc csv thành dataframe bằng Pandas. Nó sử dụng định dạng: dataframe = read_csv(csv_input, useco
Trong Flutter, điều gì có thể được giải thích rõ ràng bằng ví dụ? Sự nhầm lẫn của tôi liên quan đến khóa, như được thể hiện trong đoạn mã bên dưới. MyHomepage({Key key, this.title}) : super(key: key
Tôi đang sử dụng GCM trong ứng dụng Android của mình. Để sử dụng dịch vụ GCM, chúng ta cần tạo khóa Google API. Vì vậy, tôi đã tạo khóa API cho Android, khóa máy chủ và khóa trình duyệt. có vẻ
Tôi muốn tạo một bí mật trong Azure Key Vault có nhiều khóa (giống như JSON). Ví dụ - { "storageAccountKey":"XXXXX", "Co
Tôi liên tục nhận được thông báo lỗi khi cố gắng gửi khóa qua url bằng encodeforURL() và decodefromUrl(). Mã mẫu bên dưới. Đây là trang nhập của tôi: key = generateSec
Có chức năng nào để kiểm tra xem khóa có tồn tại trong trường biến thể bông tuyết không? Câu trả lời hay nhất Bạn có thể sử dụng IS_NULL_VALUE để xem khóa có tồn tại hay không. Nếu khóa không tồn tại, kết quả sẽ là NULL. Nếu khóa tồn tại, nếu giá trị là JSON null, thì
Tôi đang cố chạy lệnh này: sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A Nhưng tôi nhận được lỗi: Execu
Tôi có một tệp csv và tôi đang cố gắng đếm hàng [3] rồi nối nó với hàng [0] hàng [0] hàng [3] 'A01' 'a' 'B02'
Làm thế nào để tôi viết một hàm có dạng này: A(key, B(key, C(key, ValFactory(key)))) trong đó A, B và C có chữ ký này: TResult GetOrAdd(string key
Xem lại phương pháp này, tôi tò mò tại sao nó lại sử dụng Object.keys(this).map(key => (this as any)[key])? Nó chỉ gọi Object.keys(this).ind
Tôi đang ở trong một tình huống kỳ lạ. Tôi có một từ điển self.containing_dict. Khi sử dụng trình gỡ lỗi, tôi thấy nội dung của từ điển và có thể thấy rằng self là một trong những khóa trong đó. Nhưng hãy nhìn vào điều này: >>> self trong self.c
Tôi cần ký một tin nhắn bằng RSA-SHA256 và khóa công khai trong Google Apps Script của mình. Tôi đang cố gắng sử dụng Utilities.computeRsaSha256Signature(value, key)
Tôi là một lập trình viên mới bắt đầu sử dụng React và vài ngày trước tôi thấy một số cú pháp thú vị mà tôi không hiểu. Có {...{key}} trên thành phần View. Tôi sẽ viết key={key}. Nó có giống hệt không? Bạn có liên kết hoặc lời giải thích không? kết xuất()
Có sự khác biệt nào giữa khóa thay thế, khóa tổng hợp và khóa nhân tạo không? Tôi không rõ sự khác biệt chính xác là gì. Câu trả lời hay nhấtKhóa thay thế, khóa tổng hợp và khóa nhân tạo là những từ đồng nghĩa. Một chìa khóa kỹ thuật nữa. Cả hai đều có nghĩa là "khóa chính không có ý nghĩa kinh doanh". Họ khác với những người có
Phát biểu vấn đề: Truy xuất và sử dụng các giá trị nhạy cảm (như chuỗi kết nối cơ sở dữ liệu) được lưu trữ trong Azure Key Vault theo chương trình trong ứng dụng C# trên web/bảng điều khiển. Theo như tôi biết, bạn có thể đăng ký ứng dụng của mình trong AAD và sử dụng ứng dụng khách của nó
Phát biểu vấn đề: Truy xuất và sử dụng các giá trị nhạy cảm (như chuỗi kết nối cơ sở dữ liệu) được lưu trữ trong Azure Key Vault theo chương trình trong ứng dụng C# trên web/bảng điều khiển. Theo như tôi biết, bạn có thể đăng ký ứng dụng của mình trong AAD và sử dụng ứng dụng khách của nó
Tôi đang tìm giải pháp cho cảnh báo Perl "các phím trích dẫn đang trong giai đoạn thử nghiệm" Tôi lấy được thông tin này từ đoạn mã như sau: foreach my $f (keys($normal{$nuc}{$e})) {#x, y, and z Tôi có trong
Tôi đang triển khai nhà cung cấp JCE cho HSM. Có cơ chế nào trong JCE để chỉ định loại tạo khóa không, ví dụ: khóa phiên hoặc khóa vĩnh viễn? KeyGenerator keygen = KeyGener
Tôi đã tạo một ứng dụng trên Facebook. Tôi đã thêm mã băm khóa chính xác và ứng dụng chạy tốt nhưng khi tôi thử chạy lại thì ứng dụng báo lỗi này. Đây là lần thứ hai. Trước đó khi tôi nhận được
Tôi là một lập trình viên xuất sắc, rất giỏi!