python - 将列表切片为最大字符串大小

标签 python

我需要强制执行列表项的最大长度。我将如何完成以下任务:

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/

相关文章:

Python线程: interpreter shutdown exception

python - 用 Pandas 重新采样 python 列表

python - 调试 python 代码时,局部变量在 VARIABLES 部分 Visual Studio 代码上的值为 '.!toplevel.!calendar.!frame'

python - 多个鼠标指针?

python - 提取图像中的车牌号

python - 正则表达式 "dynamic"替换

python - 使用 mxnet CNN 模型进行预测

Python 请求获取 TLSV1_ALERT_INTERNAL_ERROR

python - 对非常大的 Pandas Data frame 进行聚合和统计

python - Python 3 可以对我的 Mac 上打开的文件使用react吗?