我有一个字符串"42 0"(例如),需要获取两个整数的数组.我可以.split在空间上做吗?
我有一个字符串,例如存储一个数字和一个单位
x= '$120'
y = ' 90 Degrees F'
banana = '200 kgm'
orange = '300 gm'
total_weight = banana + orange/1000
Run Code Online (Sandbox Code Playgroud)
例如,我想添加权重
total_weight = 200 + 300/1000
Run Code Online (Sandbox Code Playgroud)
谢谢!
我试图提取数字只是为了用这些来做一些操作......知道最简单的方法是什么?我只处理这两种格式,即数字位于字符串的开头或结尾...
我有一串数字,如:
example_string = '0, 0, 0, 11, 0, 0, 0, 0, 0, 19, 0, 9, 0, 0, 0, 0, 0, 0, 11'
Run Code Online (Sandbox Code Playgroud)
我想将其转换为列表:
example_list = [0, 0, 0, 11, 0, 0, 0, 0, 0, 19, 0, 9, 0, 0, 0, 0, 0, 0, 11]
Run Code Online (Sandbox Code Playgroud)
我尝试过类似的东西:
for i in example_string:
example_list.append(int(example_string[i]))
Run Code Online (Sandbox Code Playgroud)
但这显然不起作用,因为字符串包含空格和逗号.但是,删除它们不是一种选择,因为像"19"这样的数字会被转换为1和9.你能帮我解决这个问题吗?
在Python中获取字符串数字前缀的最简洁方法是什么?
通过"干净"我的意思是简单,简短,可读.我不太关心性能,我认为无论如何它在Python中几乎不可测量.
例如:
给定字符串'123abc456def',获取字符串的最简洁方法是什么'123'?
以下代码获得'123456':
input = '123abc456def'
output = ''.join(c for c in input if c in '0123456789')
Run Code Online (Sandbox Code Playgroud)
所以我基本上想找到一些方法来替换ifa while.
假设我有以下字符串
string = "serial 7's 93-86-79-72-65 very slow, recall 3/3 "
Run Code Online (Sandbox Code Playgroud)
现在,我想在 Python 中使用正则表达式找到一组数字。请注意,数字前面必须有"serial 7's"我尝试过的以下内容:
re.findall('(?<=serial 7\'s )(\d+, )', string)
re.findall('(?<=serial 7\'s )(\d+, )+', string)
Run Code Online (Sandbox Code Playgroud)
似乎没有任何效果。请注意,我们尝试提取的整数数量可能未知。我只想要具有特定模式的数字。不是其他可能分散在文本中的数字。
预期输出: ['93','86','79','72','65']
我想提取字符串中包含的所有数字。我不能使用正则表达式,还有其他方法吗?
例子:
minput = "BLP45PP32AMPY"
Run Code Online (Sandbox Code Playgroud)
结果:
4532
Run Code Online (Sandbox Code Playgroud) 我试图从python中的字符串中删除所有字符和特殊符号,除了数字(数字0-9).这就是我正在做的事情 -
s='das dad 67 8 - 11 2928 313'
s1=''
for i in range(0,len(s)):
if not(ord(s[i])>=48 and ord(s[i])<=57):
s1=s1+' '
else:
s1=s1+s[i]
#s1=s1.split()
print(s1)
Run Code Online (Sandbox Code Playgroud)
所以,基本上我正在检查每个字符的ascii代码,如果它们不在数字'ascii值的范围内,我用空格更新它们.这很好,但我很好奇,如果有其他更有效的方法,我可以在python中做到这一点.
编辑我想用空格替换非数字字符
给定一个字符串,"Hello4.2this.is random 24 text42"我想返回所有的整数或浮点数[4.2, 24, 42]。所有其他问题的解决方案仅返回24。即使数字旁边没有数字字符,我也想返回浮点数。由于我是Python的新手,所以我尝试避免使用正则表达式或其他复杂的输入。我不知道如何开始。请帮忙。以下是一些研究尝试:Python:从字符串中提取数字,由于无法识别4.2和42,因此无法正常工作。还有其他类似提到的问题,没有一个令人遗憾地认识到4.2和42。
如何提取字符串中的所有数字?
例如,考虑一个字符串"66,55,66,57".我想将每个数字提取到单独的变量中并执行整数运算.
获取字符串中数值列表的最简洁方法是什么?
例如:
string = 'version_4.11.2-2-1.4'
array = [4, 11, 2, 2, 1, 4]
Run Code Online (Sandbox Code Playgroud)
您可能理解,我需要比较版本.
"最干净",我的意思是尽可能简单/简短/可读.
另外,如果可能的话,我更喜欢内置函数而不是regexp(import re).
这是我到目前为止所得到的,但我觉得它很笨拙:
array = [int(n) for n in ''.join(c if c.isdigit() else ' ' for c in string).split()]
Run Code Online (Sandbox Code Playgroud)
奇怪的是,我无法在SO上找到答案:
谢谢
python ×9
string ×6
arrays ×2
integer ×2
python-3.x ×2
list ×1
python-2.7 ×1
regex ×1
split ×1