9 nhân vật nhóm trên hệ thống 64 bit trên CPython 3.10. Show Đó chỉ là khi chuỗi của bạn chỉ được tạo thành từ các ký tự ASCII. Độ dài tối đa có thể nhỏ hơn tùy thuộc vào những ký tự mà chuỗi chứa do cách CPython thực hiện các chuỗi:
Trên một hệ thống 32 bit, khoảng 2 tỷ hoặc 500 triệu ký tự. Nếu bạn không biết bạn đang sử dụng hệ thống 64 bit hay 32 bit hay điều đó có nghĩa là gì, có lẽ bạn đang sử dụng hệ thống 64 bit. Chuỗi Python có chiều dài-prefix, do đó chiều dài của chúng bị giới hạn bởi kích thước của số nguyên giữ chiều dài của chúng và lượng bộ nhớ có sẵn trên hệ thống của bạn. Kể từ PEP 353, Python sử dụng 3 làm loại dữ liệu để lưu trữ độ dài của container. 3 được định nghĩa là cùng kích thước với 5 của trình biên dịch nhưng đã ký. Trên hệ thống 64 bit, 5 là 64. 1 bit cho dấu hiệu có nghĩa là bạn có 63 bit cho số lượng thực tế, có nghĩa là chuỗi cpython không thể lớn hơn 2⁶³ - 1 byte hoặc khoảng 9 triệu TB (8EIB). RAM này sẽ tiêu tốn của bạn khoảng 40 tỷ đô la nếu chúng tôi nhân giá hôm nay khoảng 4 đô la/GB thêm 9 tỷ. Trên các hệ thống 32 bit (rất hiếm trong những ngày này), nó là 2³¹ - 1 byte hoặc 2GIB.2⁶³ - 1 bytes or around 9 million TB (8EiB). This much RAM would cost you around 40 billion dollars if we
multiply today's price of around $4/GB by 9 billion. On 32-bit systems (which are rare these days), it's 2³¹ - 1 bytes or 2GiB.CPython sẽ sử dụng 1, 2 hoặc 4 byte trên mỗi ký tự, tùy thuộc vào số lượng byte cần mã hóa ký tự "dài nhất" trong chuỗi của bạn. Vì vậy, ví dụ nếu bạn có một chuỗi như 7, mỗi ____ 18, mỗi người lấy 1 byte để lưu trữ, nhưng nếu bạn có một chuỗi như 9 thì tất cả các ____ 18 sẽ mất 4 byte. Các chuỗi 1 byte-per-saracter cũng sẽ sử dụng 48 hoặc 72 byte siêu dữ liệu và 2 hoặc 4 byte trên mỗi ký tự sẽ lấy 72 byte cho siêu dữ liệu. Mỗi chuỗi cũng có một ký tự phụ ở cuối để chấm dứt null, vì vậy chuỗi trống thực sự là 49 byte.Khi bạn phân bổ một chuỗi với 1 (xem tài liệu) trong CPython, nó sẽ thực hiện kiểm tra này:
2 ở đâu
được đúc 3 vào 5 (một loại được xác định bởi trình biên dịch C, số nguyên không dấu 64 bit trên hệ thống 64 bit) khiến nó quấn quanh giá trị lớn nhất có thể của nó, 2⁶⁴-1 và sau đó chuyển đổi nó bằng 1 ( do đó, bit dấu là 5) khiến nó trở thành 2⁶³-1 và chuyển nó thành loại 3. 7 chỉ là một chút chi phí cho siêu dữ liệu của đối tượng 8, 48 hoặc 72, nó được đặt sớm hơn trong hàm
và 9 là 1, 2 hoặc 4 và vì vậy chúng tôi có
Tất nhiên có khả năng các chuỗi Python thực tế bị giới hạn bởi một số phần khác của Python mà tôi không biết, nhưng ít nhất bạn có thể phân bổ một chuỗi mới có kích thước đó, giả sử bạn có thể lấy tay vào 9 exabyte của ram. Xem thảo luận Cải thiện bài viết Lưu bài viết Xem thảo luận Cải thiện bài viết Lưu bài viết Đọc Bàn luận Đôi khi, trong khi làm việc với danh sách Python, chúng ta có thể gặp vấn đề trong đó chúng ta nhận được các chuỗi dưới dạng các yếu tố và muốn tính toán chuỗi có độ dài tối đa. Loại vấn đề này có thể có các ứng dụng trong nhiều lĩnh vực. Hãy để thảo luận về những cách nhất định trong đó vấn đề này có thể được giải quyết. Phương pháp số 1: Sử dụng loopthis là phương pháp vũ phu trong đó chúng tôi thực hiện nhiệm vụ này. Trong đó, chúng tôi chạy một vòng lặp để giữ bộ nhớ có độ dài chuỗi dài nhất và trả về chuỗi có độ dài tối đa trong danh sách. 0 1 2 3 4 5 4 7 4 9 4The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks1 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks2 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks3 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks4 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks5 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks6 8The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks8 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks9 1 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks1 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks2 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks3 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks4 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks5 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks6 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks7 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks8 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks9 U+00 0The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks3 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks4 U+7F 2 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks6 U+7F 4
Đầu ra: The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks
Đôi khi, trong khi làm việc với danh sách Python, chúng ta có thể gặp vấn đề trong đó chúng ta nhận được các chuỗi dưới dạng các yếu tố và muốn tính toán chuỗi có độ dài tối đa. Loại vấn đề này có thể có các ứng dụng trong nhiều lĩnh vực. Hãy để thảo luận về những cách nhất định trong đó vấn đề này có thể được giải quyết. Phương pháp số 1: Sử dụng loopthis là phương pháp vũ phu trong đó chúng tôi thực hiện nhiệm vụ này. Trong đó, chúng tôi chạy một vòng lặp để giữ bộ nhớ có độ dài chuỗi dài nhất và trả về chuỗi có độ dài tối đa trong danh sách.
1 U+FF 7U+FF 8 1 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks9 01The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks3 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks4 U+7F 2 The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks6 U+7F 4Đầu ra: The original list : ['gfg', 'is', 'best', 'for', 'geeks'] Maximum length string is : geeks Chiều dài trong Python là bao nhiêu?Hàm Len () là một trong những chức năng tích hợp của Python.Nó trả về chiều dài của một đối tượng.Ví dụ, nó có thể trả về số lượng mục trong một danh sách.Bạn có thể sử dụng chức năng với nhiều loại dữ liệu khác nhau.Tuy nhiên, không phải tất cả các loại dữ liệu là đối số hợp lệ cho Len ().returns the length of an object. For example, it can return the number of items in a list. You can use the function with many different data types. However, not all data types are valid arguments for len() .
Độ dài chuỗi tối đa là bao nhiêu?Mặc dù một chuỗi được trích dẫn riêng lẻ không thể dài hơn 2048 byte, một chuỗi theo nghĩa đen khoảng 65535 byte có thể được xây dựng bằng các chuỗi nối.2048 bytes, a string literal of roughly 65535 bytes can be constructed by concatenating strings.
Độ dài tối đa của biến chuỗi trong Python là gì?Trên một hệ thống 32 bit, khoảng 2 tỷ hoặc 500 triệu ký tự.2 billion or 500 million characters. |