我试图在程序中添加一段代码,以将列表项移至单独的列表,并删除除整数以外的所有字符。例如,如果我想将“ 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']
答案 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)