python - 使用 re 转换列表 get 元素的最 Pythonic 方法

标签 python regex list integer

我正在使用正则表达式从字符串(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/

相关文章:

python - pandas.plot(...) 意外反转 x 轴

java - 如何区分用户选择项目和 getSelectedValue()?

angular - 如何使用 Ionic 4 创建 Accordion 列表?

Python条件连接不以标点符号结尾的*连续*字符串

python - 如何根据 csv 文件中的重复数字制作具有单个值的字典

Python zip() 函数

android - 通过 Kivy 在 Android 上运行 Tensorflow

regex - (grep) 正则表达式匹配非 ASCII 字符?

ruby 正则表达式在最后一次出现字符时拆分

PHP:如何从一大块文本中获取 URL?