我试图循环使用以下代码:
data = "456432 jfhjsdfjs fhdjsjk 990 fdjsf"
345903 fdsfdfs fsfdsfd 667 fsdfd
456432 sfdsfds fdsfdsfd 778 fdsfds"
我想转换每行第一系列数字的数字,以便返回以下内容(转换为整数)
这是我到目前为止的代码,它对所有内容进行了分类:
print [int(data.split()[0])]
我猜我必须循环每一行,同时仍然拉动每行列表中的0项。虽然不确定我是否处于最佳工作流程。
答案 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']