因此,有些文本中有整数,我想将其取出并放在不同的列表中,但不要在一起。 示例:
Sometext = somekindoftext123withthis445
numlist = (123,445)
我尝试使用列表
nums = ("0","1","2","3","4","5","6","7","8","9")
但宁愿将它们分开放置。
listi = []
num = []
while True:
inputi = input("Text here: ")
if inputi == "stop":
break
else: listi.append(inputi)
for i in inputi:
if len(inputi) > 0:
listi.append(inputi)
while nums != 1000:
if nums in listi[0]:
num.append(nums)
答案 0 :(得分:3)
您可以使用正则表达式来查找所有出现的数字,如下所示:
import re
s = 'somekindoftext123withthis445'
nums = [int(x) for x in re.findall(r'\d+', s)]
print(nums)
# [123, 445]
但是,如果您不想使用正则表达式而使用循环,则可以执行以下操作:
s = 'somekindoftext123withthis445'
num = 0
nums = []
ok = False
for c in s:
if c.isdigit():
num *= 10
num += int(c)
ok = True
else:
if ok:
nums.append(num)
num = 0
ok = False
if num:
nums.append(num)
print(nums)
# [123, 445]
答案 1 :(得分:0)
使用正则表达式匹配所有整数。
import re
sometext = 'somekindoftext123withthis445'
numlist = list(map(int, re.findall(r'\d+', sometext)))
print(numlist)
答案 2 :(得分:0)
一个内衬解决方案:
print [i for i in Sometext if i.isdigit()]