如何遍历python字符串中的多行并转换为整数:

时间:2016-11-01 20:44:16

标签: python

我试图循环使用以下代码:

data = "456432 jfhjsdfjs fhdjsjk 990 fdjsf" 345903 fdsfdfs fsfdsfd 667 fsdfd 456432 sfdsfds fdsfdsfd 778 fdsfds"

我想转换每行第一系列数字的数字,以便返回以下内容(转换为整数)

这是我到目前为止的代码,它对所有内容进行了分类:

print [int(data.split()[0])]

我猜我必须循环每一行,同时仍然拉动每行列表中的0项。虽然不确定我是否处于最佳工作流程。

3 个答案:

答案 0 :(得分:1)

您必须逐行迭代,然后执行split()[0]以获取第一个值:

[int(line.split()[0]) for line in data.splitlines()]

答案 1 :(得分:0)

y = [int(x) for x in data.split() if x.isdigit() and int(x) > 99999]
y.sort()

将返回该字符串中所有数字的列表,作为由6位数组成的整数

编辑:不返回,而是y将被分配,然后排序= D. 所以,y将是该字符串中包含6位数字

的所有整数的列表

答案 2 :(得分:0)

使用re.findall函数(来自re模块)并使用re.MULTILINE标记来获取每行开头的数字的另一个简短解决方案:

import re

# your 'data' with text

print(re.findall(r'^\d+\b', data, flags=re.MULTILINE))

输出:

['456432', '345903', '456432']