Python-将值拆分为两个整数

发布于 2025-01-10 23:13:48 字数 179 浏览 0 评论 0原文

分割字典的这个键/值的最佳方法是什么:

test_status: "2200/2204(99%)"

这样我就得到两个值为整数的键:

test_status_excpected: 2204
test_status_got: 2200

What is the most optimal way to split this key/value of dictionary:

test_status: "2200/2204(99%)"

so that I get two keys whose values are integers:

test_status_excpected: 2204
test_status_got: 2200

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

征﹌骨岁月お 2025-01-17 23:13:48

使用 /( 作为分隔符进行拆分。

第一个值是 / 左边的内容,

第二个值是 / 右边的内容( 左侧

然后将结果转换为 int

myDict["test_status_excpected"] = int(myDict["test_status"].split("/")[0])
myDict["test_status_got"] = int(myDict["test_status"].split("/")[1].split("(")[0])

Split using / and ( as separators.

The first value is what is left of /

The second value is what is right of / and left of (

Then cast the result into an int

myDict["test_status_excpected"] = int(myDict["test_status"].split("/")[0])
myDict["test_status_got"] = int(myDict["test_status"].split("/")[1].split("(")[0])
凶凌 2025-01-17 23:13:48
pair = {'test_status': '2200/2204(99%)'}

for key, value in pair.items():
    value = value[:9] # this will keep first 9 char which drops (99%) part
    years = value.split("/")
    new_pair = {
        "test_status_excpected": years[1],
        "test_status_got": years[0]
    }

print(new_pair)
# output: {'test_status_excpected': '2204', 'test_status_got': '2200'}
pair = {'test_status': '2200/2204(99%)'}

for key, value in pair.items():
    value = value[:9] # this will keep first 9 char which drops (99%) part
    years = value.split("/")
    new_pair = {
        "test_status_excpected": years[1],
        "test_status_got": years[0]
    }

print(new_pair)
# output: {'test_status_excpected': '2204', 'test_status_got': '2200'}
潦草背影 2025-01-17 23:13:48

您可以使用re模块。例如:

import re
test_status = "2200/2204(99%)"
m = re.findall('\d+', test_status)
print(m[0], m[1])

输出:

2200 2204

注意:

此代码隐式假设在字符串中至少会找到两个数字序列

You can use the re module. For example:

import re
test_status = "2200/2204(99%)"
m = re.findall('\d+', test_status)
print(m[0], m[1])

Output:

2200 2204

Note:

This code implicitly assumes that at least two sequences of digits will be found in the string

ゞ花落谁相伴 2025-01-17 23:13:48

使用索引分割字符串。

test_status_expected = dic_name["test_status"][:4]
test_status_got = dic_name["test_status"][5:9]

如果您不确定索引,可以使用:

test_status_expected = dic_name["test_status"][:dic_name["test_status"].index("/")]
test_status_got = dic_name["test_status"][dic_name["test_status"].index("/")+1:dic_name["test_status"].index("(")]

Split the string using index.

test_status_expected = dic_name["test_status"][:4]
test_status_got = dic_name["test_status"][5:9]

If you are not sure about the index, you can use like:

test_status_expected = dic_name["test_status"][:dic_name["test_status"].index("/")]
test_status_got = dic_name["test_status"][dic_name["test_status"].index("/")+1:dic_name["test_status"].index("(")]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文