在Python中如何将字符串拆分为多个整数?

ian*_*397 4 python csv arrays string

我正在读一个字符串,它总是由空格分隔的五个数字,我想将它分成五个单独的整数,以便我可以单独处理它们.

到目前为止我有:

reader = csv.reader([data.data], skipinitialspace=True)
for r in reader:
    print r
Run Code Online (Sandbox Code Playgroud)

这允许我打印出值,如何将它们存储为单个整数?

Sri*_*aju 15

你可以这样做.假设s是你的线reader.

>>> s='2 3 4 5 6'
>>> s.split(' ')
['2', '3', '4', '5', '6'] #just split will give strings
>>> [int(i) for i in s.split(' ')] #typecasting to ints
[2, 3, 4, 5, 6] #now you have ints
Run Code Online (Sandbox Code Playgroud)

但请注意,我假设行中没有其他数据类型reader.否则此代码可能会崩溃.您当然try: except:可以绕过它或使用更精细的解析技术.

更新0:来自@Pavel Annosov的精彩内线 - map(int, s.split()).map是一个漂亮的python内置函数,它允许您将函数映射到任何可迭代的函数.

更新1:看看它如何工作相当简单.但要让@ user2152165更加清晰

ints_list = []
for r in reader:
    ints_list = map(int, r.strip().split(' '))
Run Code Online (Sandbox Code Playgroud)

ints_list有一个你的整数列表.做你想做的事......

  • 或者只是`map(int,s.split())`. (8认同)