我需要强制执行列表项的最大长度。我将如何完成以下任务:
MAX_LENGTH = 13
>>> str(["hello","david"])[:MAX_LENGTH]
"['hello', 'da"
==> ["hello", "da"]
我正在考虑使用 ast.literal_eval
,但想知道这里可能推荐什么。
最佳答案
我会警告不要这样做。必须有比这更安全的事情要做。至少你不应该将元素分成两半。例如:
import sys
overrun = []
data = ["Hello,"] + ( ["buffer"] * 80 )
maxsize = 800
# sys.getsizeof(data) is now 840 in my implementation.
while True:
while sys.getsizeof(data) > maxsize:
overrun.append(data.pop())
do_something_with(data)
if overrun:
data, overrun = overrun, []
else:
break
关于python - 将列表切片为最大字符串大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36321497/