首页 > 解决方案 > 有没有办法从列表项中获取一个整数?

问题描述

我正在尝试将一段代码添加到我的程序中,将列表项移动到单独的列表并删除除整数以外的任何字符。例如,如果我想将 'r2' 移动到不同的列表中,我该如何删除过程中的 'r'?

我尝试使用 append 函数将项目移动到新列表,但我找不到任何可以删除字母并留下整数的东西。

p1_int.append(player1_hand)

int(p1_int)

print(p1_int)

player1_hand 仅包含 1 个项目,即数字和字母组合,新列表为 p1_int。这是错误消息:IndexError:列表索引超出范围

编辑:预期的结果应该是 p1_int = ['number'] 或者如果我想跨越 'r1' p1_int = ['1']

标签: python

解决方案


考虑使用正则表达式来去除每个非数字字符:

p1_int = []

s = "r2"
n = int(re.sub(r'\D', '', s))

p1_int.append(n)

结果:

[2]

推荐阅读