gpt4 book ai didi

python - 以最小尺寸分割的字符串

转载 作者:行者123 更新时间:2023-11-28 16:37:24 25 4
gpt4 key购买 nike

我正在编写一个 python 脚本,它将接受以点分隔的版本号。它会将此字符串拆分为单独的组件(使用句点 (.) 作为分隔符)。我的脚本最多支持 4 个组件(例如 1.2.3.4)。但是,用户可以指定 更少更多 组件,而我的脚本需要能够处理它。

如果小于 4,我从 string.split() 返回的列表需要调整大小为 4,并将缺少的组件初始化为字符串 "0" .如果大于 4,则截断第 4 个分量之后的元素。

截断很容易,我只是拼接列表。但是,我不确定如何执行最多 4 个元素的调整大小。有没有一种 Python 式的方法可以做到这一点,还是我需要手写一堆逻辑来做到这一点?

我正在使用 Python 3.2。

最佳答案

您通常可以检查列表的长度,并将缺少的列表添加回开头:

def pad_list(input_string, pad_length, pad_char='0'):
base_version = input_string.split('.')[:pad_length]
missing_entries = [pad_char] * pad_length - len(base_version)
return base_version + missing_entries

实际上这里唯一的补充是实际检查您得到的部分列表的长度,然后创建另一个与缺失部分长度相同的列表。

或者,您可以提前添加 0 以防它太短:

(a + '.' + '.'.join(['0'] * 4)).split('.')[:4]

此处第二行背后的想法是先发制人地向您的版本字符串添加零,这有效地消除了您的填充问题。

首先,我们添加 '.' + '.'.join(['0']*4) 到字符串 a 的末尾,这会将 .0.0.0.0 添加到末尾,这意味着无论字符串的其余部分是什么,填充都在那里。

填充后,您可以像往常一样切片:.split('.')[:4]

关于python - 以最小尺寸分割的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24092149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com