Câu hỏi được gắn thẻ «python-internals»

Làm thế nào để Python làm việc bên dưới mui xe? Sử dụng cho các câu hỏi liên quan đến (ví dụ) các quyết định thiết kế được đưa ra và các cấu trúc dữ liệu và thuật toán nội bộ được sử dụng.

4
Tại sao mảng của Python chậm?
Tôi dự kiến ​​sẽ array.arraynhanh hơn danh sách, vì các mảng dường như không được mở hộp. Tuy nhiên, tôi nhận được kết quả sau: In [1]: import array In [2]: L = list(range(100000000)) In [3]: A = array.array('l', range(100000000)) In [4]: %timeit sum(L) 1 loop, best of 3: 667 …






1
Tại sao str.translate nhanh hơn nhiều trong Python 3.5 so với Python 3.4?
Tôi đã cố gắng loại bỏ các ký tự không mong muốn khỏi một chuỗi đã cho bằng cách sử dụng text.translate()trong Python 3.4. Mã tối thiểu là: import sys s = 'abcde12345@#@$#%$' mapper = dict.fromkeys(i for i in range(sys.maxunicode) if chr(i) in '@#$') print(s.translate(mapper)) Nó hoạt động như mong …






1
Tại sao tuple (set ([1, “a”, “b”, “c”, “z”, “f”])) == tuple (set ([“a”, “b”, “c”, “Z”, “f”, 1])) 85% thời gian có bật ngẫu nhiên băm?
Với câu trả lời của Zero Piraeus cho một câu hỏi khác , chúng tôi có x = tuple(set([1, "a", "b", "c", "z", "f"])) y = tuple(set(["a", "b", "c", "z", "f", 1])) print(x == y) In Truekhoảng 85% thời gian với tính năng ngẫu nhiên hóa băm . Tại sao …

3
Tại sao max chậm hơn sắp xếp?
Tôi thấy rằng hàm maxnày chậm hơn sorthàm trong Python 2 và 3. Python 2 $ python -m timeit -s 'import random;a=range(10000);random.shuffle(a)' 'a.sort();a[-1]' 1000 loops, best of 3: 239 usec per loop $ python -m timeit -s 'import random;a=range(10000);random.shuffle(a)' 'max(a)' 1000 loops, best of 3: 342 usec per loop Python …

2
Khi nào các tệp .pyc được làm mới?
Tôi hiểu rằng tệp ".pyc" là phiên bản được biên dịch của tệp ".py" văn bản thuần túy, được tạo trong thời gian chạy để làm cho chương trình chạy nhanh hơn. Tuy nhiên, tôi đã quan sát thấy một số điều: Sau khi sửa đổi tệp "py", hành vi …

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.