我正在使用正则表达式从字符串(lp)中提取一些数字。我知道我将从其中得到的列表将只包含 2 个元素。我也知道它们都是整数。
因此我想只用一行代码来写这个。
home,away = re.findall(r'\d+',lp)
home,away = int(home),int(away)
感谢您的帮助
最佳答案
您可以使用以下内容:
home, away = map(int, re.findall(r'\d+', lp))
另一个想法是使用列表理解:
home, away = [int(e) for e in re.findall(r'\d+', lp)]
<小时/>
当你有静态结果长度时管理类型的小技巧:
expected_types = [int, int, str]
elements = ['1', '2', 'toto']
result = [_type(e) for _type, e in zip(exected_types, elements]
# Returns : [1, 2, 'toto']
关于python - 使用 re 转换列表 get 元素的最 Pythonic 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31967568/