gpt4 book ai didi

python - 如何将空格和逗号分隔的数字字符串转换为 int 列表?

转载 作者:IT老高 更新时间:2023-10-28 20:23:30 25 4
gpt4 key购买 nike

我有一串数字,比如:

example_string = '0, 0, 0, 11, 0, 0, 0, 0, 0, 19, 0, 9, 0, 0, 0, 0, 0, 0, 11'

我想把它转换成一个列表:

example_list = [0, 0, 0, 11, 0, 0, 0, 0, 0, 19, 0, 9, 0, 0, 0, 0, 0, 0, 11]

我尝试了类似的方法:

for i in example_string:
example_list.append(int(example_string[i]))

但这显然不起作用,因为字符串包含空格和逗号。但是,删除它们不是一种选择,因为像“19”这样的数字会被转换为 1 和 9。你能帮我解决这个问题吗?

最佳答案

用逗号分割,然后映射到整数:

map(int, example_string.split(','))

或者使用列表推导:

[int(s) for s in example_string.split(',')]

如果您想要列表结果,后者效果更好,或者您可以将 map() 调用包装在 list() 中。

这是因为 int() 可以容忍空格:

>>> example_string = '0, 0, 0, 11, 0, 0, 0, 0, 0, 19, 0, 9, 0, 0, 0, 0, 0, 0, 11'
>>> list(map(int, example_string.split(','))) # Python 3, in Python 2 the list() call is redundant
[0, 0, 0, 11, 0, 0, 0, 0, 0, 19, 0, 9, 0, 0, 0, 0, 0, 0, 11]
>>> [int(s) for s in example_string.split(',')]
[0, 0, 0, 11, 0, 0, 0, 0, 0, 19, 0, 9, 0, 0, 0, 0, 0, 0, 11]

只是上分割一个逗号也更能容忍可变输入;值之间使用 0、1 或 10 个空格无关紧要。

关于python - 如何将空格和逗号分隔的数字字符串转换为 int 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19334374/

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