Python chuyển đổi chuỗi hex thành float
Xin chào! Show
Qua phyton nó sẽ như thế này. Để chuyển đổi một số thập lục phân đã cho thành một số thập phân trong Python, hãy gọi hàm dựng sẵn int() và chuyển số hex và base=16 làm đối số. int() chuyển đổi giá trị đã cho bằng cách sử dụng cơ số đã chỉ định và trả về số thập phân Ví dụTrong ví dụ này, chúng tôi viết một hàm để đọc một số thập phân từ người dùng, chuyển đổi nó thành hex và in kết quả ra đầu ra tiêu chuẩn Chương trình Python
Đầu ra số 1
Đầu ra #2
Tóm lượcTrong hướng dẫn Ví dụ về Python này, chúng ta đã học cách chuyển đổi số thập lục phân thành số thập phân bằng cách sử dụng hàm dựng sẵn int() Đối với từ điển 7 và 8, 9 trở thành một từ điển được kết hợp nông với các giá trị từ 8 thay thế các giá trị từ 7
Giải trìnhGiả sử bạn có hai từ điển và bạn muốn hợp nhất chúng thành một từ điển mới mà không làm thay đổi từ điển gốc 2Kết quả mong muốn là có được một từ điển mới ( 9) với các giá trị được hợp nhất và các giá trị của từ điển thứ hai sẽ ghi đè lên các giá trị từ từ điển đầu tiên 4Một cú pháp mới cho điều này, được đề xuất trong PEP 448 và có sẵn kể từ Python 3. 5, là
Và nó thực sự là một biểu thức duy nhất Lưu ý rằng chúng ta cũng có thể hợp nhất với ký hiệu chữ 60và bây giờ 61Nó hiện đang hiển thị như được triển khai trong lịch phát hành cho 3. 5, PEP 478 và hiện tại nó đã được đưa vào mục Có gì mới trong Python 3. 5 tài liệu Tuy nhiên, vì nhiều tổ chức vẫn đang sử dụng Python 2, nên bạn có thể muốn thực hiện việc này theo cách tương thích ngược. Cách cổ điển của Pythonic, có sẵn trong Python 2 và Python 3. 0-3. 4, là thực hiện điều này như một quy trình gồm hai bước 62Trong cả hai cách tiếp cận, 8 sẽ đứng thứ hai và các giá trị của nó sẽ thay thế các giá trị của 7, do đó, 5 sẽ trỏ đến 6 trong kết quả cuối cùng của chúng tôiChưa có trên Python 3. 5, nhưng muốn có một biểu thức duy nhấtNếu bạn chưa sử dụng Python 3. 5 hoặc cần viết mã tương thích ngược và bạn muốn điều này trong một biểu thức duy nhất, cách hiệu quả nhất trong khi cách tiếp cận đúng là đặt nó trong một hàm 63và sau đó bạn có một biểu thức duy nhất 1Bạn cũng có thể tạo một hàm để hợp nhất một số lượng từ điển tùy ý, từ số không đến số lượng rất lớn 65Chức năng này sẽ hoạt động trong Python 2 và 3 cho tất cả các từ điển. e. g. từ điển đã cho 7 đến 8 66và các cặp khóa-giá trị trong 8 sẽ được ưu tiên hơn từ điển 7 đến 01, v.v.Phê bình các câu trả lời khácKhông sử dụng những gì bạn thấy trong câu trả lời được chấp nhận trước đây 67Trong Python 2, bạn tạo hai danh sách trong bộ nhớ cho mỗi lệnh, tạo danh sách thứ ba trong bộ nhớ có độ dài bằng với độ dài của hai danh sách đầu tiên được ghép lại với nhau, sau đó loại bỏ cả ba danh sách để tạo lệnh. Trong Python 3, điều này sẽ không thành công vì bạn đang thêm hai đối tượng 02 lại với nhau, không phải hai danh sách - 68và bạn sẽ phải tạo chúng một cách rõ ràng dưới dạng danh sách, e. g. 03. Đây là một sự lãng phí tài nguyên và sức mạnh tính toánTương tự, lấy hợp của 04 trong Python 3 (_______105 trong Python 2. 7) cũng sẽ thất bại khi các giá trị là các đối tượng không thể băm được (ví dụ như danh sách). Ngay cả khi các giá trị của bạn có thể băm được, vì các bộ không có thứ tự về mặt ngữ nghĩa, nên hành vi không được xác định liên quan đến mức độ ưu tiên. Vì vậy, đừng làm điều này 69Ví dụ này minh họa điều gì sẽ xảy ra khi các giá trị không thể băm được 90Đây là một ví dụ trong đó 8 nên được ưu tiên, nhưng thay vào đó, giá trị từ 7 được giữ lại do thứ tự tùy ý của các tập hợp 91Một hack khác bạn không nên sử dụng 92Điều này sử dụng hàm tạo 08 và rất nhanh và tiết kiệm bộ nhớ (thậm chí còn hơn một chút so với quy trình hai bước của chúng tôi) nhưng trừ khi bạn biết chính xác điều gì đang xảy ra ở đây (nghĩa là lệnh thứ hai đang được chuyển dưới dạng đối số từ khóa cho lệnh chính tả Đây là một ví dụ về việc sử dụng đang được khắc phục trong django Từ điển nhằm mục đích lấy các khóa có thể băm (e. g. 09 hoặc bộ dữ liệu), nhưng phương thức này không thành công trong Python 3 khi khóa không phải là chuỗi 93Từ danh sách gửi thư, Guido van Rossum, người tạo ra ngôn ngữ này, đã viết
và
Theo sự hiểu biết của tôi (cũng như sự hiểu biết của người tạo ra ngôn ngữ) rằng mục đích sử dụng cho 10 là để tạo từ điển cho mục đích dễ đọc, e. g 94thay vì 95Phản hồi bình luận
Một lần nữa, nó không hoạt động trong 3 khi các phím không phải là chuỗi. Hợp đồng gọi ẩn là các không gian tên lấy từ điển thông thường, trong khi người dùng chỉ phải chuyển đối số từ khóa là chuỗi. Tất cả các cuộc gọi khác đã thực thi nó. 08 đã phá vỡ tính nhất quán này trong Python 2 96Sự không nhất quán này rất tệ khi triển khai Python khác (PyPy, Jython, IronPython). Do đó, nó đã được sửa trong Python 3, vì cách sử dụng này có thể là một thay đổi đột phá Tôi trình bày với bạn rằng việc cố ý viết mã chỉ hoạt động trong một phiên bản của ngôn ngữ hoặc mã chỉ hoạt động với một số ràng buộc tùy ý nhất định là hành vi cố tình viết mã không hoạt động. Thêm bình luận 13 vẫn là giải pháp dễ đọc nhất cho Python 2. số lượng khả năng đọc câu trả lời của tôi. 14 thực sự có vẻ rõ ràng hơn nhiều đối với tôi, nếu chúng tôi thực sự quan tâm đến khả năng đọc. Và nó không tương thích về phía trước, vì Python 2 ngày càng không được dùng nữa15 dường như không xử lý các từ điển lồng nhau. nội dung của các khóa lồng nhau chỉ được ghi đè, không được hợp nhất [. ] Cuối cùng tôi đã bị đốt cháy bởi những câu trả lời không hợp nhất theo cách đệ quy này và tôi đã rất ngạc nhiên khi không ai đề cập đến nó. Theo cách giải thích của tôi về từ "hợp nhất", những câu trả lời này mô tả "cập nhật một lệnh này với một lệnh khác" và không hợp nhất Đúng. Tôi phải giới thiệu bạn trở lại câu hỏi, yêu cầu hợp nhất nông của hai từ điển, với các giá trị của từ đầu tiên bị ghi đè bởi từ thứ hai - trong một biểu thức Giả sử hai từ điển của từ điển, người ta có thể hợp nhất đệ quy chúng trong một chức năng duy nhất, nhưng bạn nên cẩn thận không sửa đổi từ điển từ cả hai nguồn và cách chắc chắn nhất để tránh điều đó là tạo một bản sao khi gán giá trị. Vì các khóa phải có thể băm được và do đó thường không thay đổi, nên việc sao chép chúng là vô nghĩa 97Cách sử dụng 98Việc đưa ra các trường hợp dự phòng cho các loại giá trị khác nằm ngoài phạm vi của câu hỏi này, vì vậy tôi sẽ chỉ cho bạn câu trả lời của tôi cho câu hỏi kinh điển trên "Từ điển hợp nhất từ điển" Ít hiệu quả hơn nhưng Ad-hocs chính xácNhững cách tiếp cận này kém hiệu quả hơn, nhưng chúng sẽ cung cấp hành vi đúng. Chúng sẽ kém hiệu quả hơn nhiều so với 16 và 17 hoặc giải nén mới vì chúng lặp qua từng cặp khóa-giá trị ở mức độ trừu tượng cao hơn, nhưng chúng tôn trọng thứ tự ưu tiên (các từ điển sau này được ưu tiên hơn)Bạn cũng có thể xâu chuỗi các từ điển theo cách thủ công bên trong phần đọc chính tả 99hoặc bằng Python 2. 6 (và có lẽ sớm nhất là 2. 4 khi các biểu thức trình tạo được giới thiệu) 0 18 sẽ xâu chuỗi các trình vòng lặp qua các cặp khóa-giá trị theo đúng thứ tự 1Phân tích hiệu suấtTôi sẽ chỉ thực hiện phân tích hiệu suất của các tập quán được biết là hoạt động chính xác. (Tự chứa để bạn có thể sao chép và dán cho mình. ) 2Trong Trăn 3. 8. 1, Nix OS 3____34Tài nguyên về từ điển
Python – Cách thực thi chương trình hoặc gọi lệnh hệ thốngSử dụng mô-đun 19 trong thư viện chuẩn 5Ưu điểm của 20 so với 21 là nó linh hoạt hơn (bạn có thể nhận được 22, 23, mã trạng thái "thực", xử lý lỗi tốt hơn, v.v. )Ngay cả tài liệu về 21 cũng khuyến nghị sử dụng 19 để thay thế
|