XOR trong danh sách Python
Định nghĩa một hàm có tên là 0 và 1 Show Hàm của bạn phải trả về cho dù 0 hay 1Nói cách khác, nếu 6. Nếu n chỉ nằm trong một trong các danh sách, hãy trả về list_xor 1 Vì kích thước đầu vào là 9 và bạn đang sử dụng Python 2, vấn đề đầu tiên là bạn đang tạo một danh sách các số nguyên 10**6 không cần thiết chỉ để thực hiện một vòng lặpThay vào đó, bạn nên sử dụng 0 để tạo ra số nguyên một cách lười biếng
Một tối ưu hóa vi mô nhỏ khác mà bạn có thể thực hiện ở đây là sử dụng 1 với 2. 2 là một singleton, vì vậy, chỉ có một 2 duy nhất tồn tại trong bộ nhớ và nó là đối tượng nhỏ nhất trong CPython, mặt khác, việc tạo ra 10**6 số nguyên rất tốn kém (CPython cũng lưu trữ một số trong số chúng, nhưng chúng vẫn không cần thiết ở đây)
Vì chúng tôi đang sử dụng các hàm như 2, 3 nhiều lần trong mã của mình, tốt hơn hết là lưu trữ chúng dưới dạng biến cục bộ, vì nếu không, chúng tôi sẽ tìm kiếm chúng ít nhất 9 lần trong từ điển chung. Một cách để lưu chúng vào bộ đệm là sử dụng chúng làm giá trị mặc định cho các thuộc tính chức năng
Thay vì bắt đầu giá trị kết quả bằng 5, chúng ta chỉ cần bắt đầu bằng 0 và chúng ta cũng có thể ngăn việc tạo danh sách 15 mục đơn giản đó
Hiện tại giải pháp đầu tiên của bạn mất khoảng 7. 44 giây trên hệ thống của tôi và giải pháp của tôi mất khoảng 5. 6 giây, không phải là một cải tiến lớn
Lưu ý rằng trong giải pháp trên, chúng tôi đang ghi vào thiết bị xuất chuẩn ngay lập tức, nếu chúng tôi có thể lưu trữ tạm thời đầu ra trong một danh sách (giả sử 1000 mục) và chúng ghi chúng cùng một lúc thì giải pháp trên mất 5. 52 giây Ngôn ngữ nhị phân là ngôn ngữ của máy tính. Tất cả các cơ chế bên trong của máy tính xảy ra liên quan đến các bit. Các toán tử theo bit là tập hợp các toán tử cho phép lập trình viên thực hiện các phép toán theo bit trên các số nguyên. Các toán tử này cho phép lập trình viên thao tác dữ liệu cấp thấp hơn trong máy tính. Có tổng cộng sáu toán tử bitwise trong Python
Bài viết này thảo luận về toán tử Bitwise XOR với các ví dụ
Bây giờ, hãy để chúng tôi hiểu hoạt động của Bitwise XOR
Hoạt động
Bảng chân trị của XOR Bit 1 (toán hạng 1)Bit 2 (toán hạng 2)Giá trị trả về110000101011Hãy để chúng tôi hiểu khái niệm bằng cách sử dụng một ví dụ Nếu chúng ta muốn thực hiện 3^4 1. Cả hai số nguyên được chuyển đổi thành dạng nhị phân 3 -> 0 1 1 4 -> 1 0 0 2. Bây giờ, xor được áp dụng theo chiều bit 3. Cuối cùng, số nhị phân kết quả được chuyển đổi trở lại dạng thập phân của nó 1 1 1 đại diện cho 7 4. Đầu ra -> 7 3^4 -> 7 Bây giờ, với cùng toán hạng, chúng ta hãy viết mã cho xor đầu ra Trên các giá trị BooleanChúng ta có thể thực hiện xor trên các giá trị Boolean. Khi chúng ta thao tác trên hai số nguyên, 1 tương đương với Boolean True và 0 tương đương với Boolean False Làm cách nào để thực hiện XOR trên danh sách bằng Python?Phương pháp #1. Sử dụng toán tử reduce() + lambda + “^”
. Chúng ta có thể sử dụng reduce() để tích lũy kết quả của logic XOR được chỉ định bởi hàm lambda. Chỉ hoạt động với Python2.
Làm cách nào để tìm giá trị XOR trong Python?Để lấy xor logic của hai hoặc nhiều biến trong Python. . Chuyển đổi đầu vào thành booleans Sử dụng toán tử bitwise xor ( ^ hoặc toán tử. xor ) Toán tử nào là XOR trong Python?Tổng quan về Toán tử Bitwise của Python Bạn có thể XOR chuỗi Python không?Bạn có thể đã sử dụng nhiều toán tử logic, số học và so sánh trong toán học và lập trình khi làm việc. Một trong những toán tử logic được sử dụng thường xuyên là toán tử XOR . Nó trả về chính xác điều ngược lại với kết quả của toán tử OR. |