有什么办法可以从列表项中获取整数吗?

时间:2019-09-12 10:46:38

标签: python

我试图在程序中添加一段代码,以将列表项移至单独的列表,并删除除整数以外的所有字符。例如,如果我想将“ r2”移至其他列表,如何在此过程中删除“ r”?

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

p1_int.append(player1_hand)

int(p1_int)

print(p1_int)

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

edit:预期结果应为p1_int = ['number'],或者如果我想跨过'r1',则为p1_int = ['1']

2 个答案:

答案 0 :(得分:1)

考虑使用正则表达式删除所有非数字字符:

p1_int = []

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

p1_int.append(n)

结果:

[2]

答案 1 :(得分:0)

使用此:

sth = 'r2'
mylist = []
for item in sth:
    try:
        integer = int(item)
        mylist.append(integer)
    except:
        continue
print(mylist)