将字符串值转换为列表 python
Convert string values to list python
我正在尝试找出一种简单的方法来从使用 readline() 读取的文件中获取一行中的字符串。具体来说,有多个整数值是我 运行 遇到问题的地方:
10 20 30
我希望将上面的值转换为单独的整数列表:
[10, 20, 30]
然后这些值将在单独的 class 中求和。我确定我可以在这里做一些简单的事情,但我只是在画一个空白。提前致谢!
这里有更多关于我正在尝试做的事情的背景信息。我将整数传递到 class 中的 updateMany 方法:
vals = infile.readline()
a.updateMany(int(vals.split())
updateMany() 获取列表并对它们求和,将它们添加到 class 的本地列表变量中。
例如:
thelist = [int(s) for s in thestring.split()]
您可以使用:
x = [int(i) for i in "10 20 30".split()]
然后
sum(x)
您使用 map()
。它从列表中获取项目并对它们应用给定的函数。
>>> string = "10 20 30"
>>> map(int, string.split())
[10, 20, 30]
如果只使用space作为分隔符,可以使用字符串对象的split方法:
>>> num_line = '10 20 30'
>>> [int(num) for num in num_line.split() if num]
[10, 20, 30]
如果您的分隔符不止一个字符,例如“,”和“.”或者 space,你可以使用 re.split():
>>> import re
>>> re_str = "[,. ]"
>>> num_line = '10, 20, 30.'
>>> [int(num) for num in re.split(re_str, num_line) if num]
[10, 20, 30]
感谢大家的帮助和解决此问题的不同方法。我最终使用以下方法来获取我的值:
intList = [int(i) for i in vals.split(sep=' ')]
a.updateMany(intList)
干杯!
我正在尝试找出一种简单的方法来从使用 readline() 读取的文件中获取一行中的字符串。具体来说,有多个整数值是我 运行 遇到问题的地方:
10 20 30
我希望将上面的值转换为单独的整数列表:
[10, 20, 30]
然后这些值将在单独的 class 中求和。我确定我可以在这里做一些简单的事情,但我只是在画一个空白。提前致谢!
这里有更多关于我正在尝试做的事情的背景信息。我将整数传递到 class 中的 updateMany 方法:
vals = infile.readline()
a.updateMany(int(vals.split())
updateMany() 获取列表并对它们求和,将它们添加到 class 的本地列表变量中。
例如:
thelist = [int(s) for s in thestring.split()]
您可以使用:
x = [int(i) for i in "10 20 30".split()]
然后
sum(x)
您使用 map()
。它从列表中获取项目并对它们应用给定的函数。
>>> string = "10 20 30"
>>> map(int, string.split())
[10, 20, 30]
如果只使用space作为分隔符,可以使用字符串对象的split方法:
>>> num_line = '10 20 30'
>>> [int(num) for num in num_line.split() if num]
[10, 20, 30]
如果您的分隔符不止一个字符,例如“,”和“.”或者 space,你可以使用 re.split():
>>> import re
>>> re_str = "[,. ]"
>>> num_line = '10, 20, 30.'
>>> [int(num) for num in re.split(re_str, num_line) if num]
[10, 20, 30]
感谢大家的帮助和解决此问题的不同方法。我最终使用以下方法来获取我的值:
intList = [int(i) for i in vals.split(sep=' ')]
a.updateMany(intList)
干杯!