我有如下数据:
a=[["S(8)"],[],["S(5)",T(3)]]
并且我想在保护形状的同时获得括号之间的整数:
b=[[8],[],[5,3]]
我试图用循环来做,但是没有成功。
numbers=[]
sublist=[]
for y in a:
for x in y:
if len(y)==0:
numbers.append([])
pass
elif len(y)>0:
sublist.append([x[x.find("(")+1:x.find(")")]])
numbers.append(toplama)
pass
我也尝试过这个
numbers=[x[x.find("(")+1:x.find(")")] for x in y for y in a]
可以帮我吗?谢谢。
答案 0 :(得分:0)
尝试以下操作:
import re
# Finds a number (at least 1 digit) in brackets
x = re.compile(r"\(([0-9]+)\)")
# Your input
a = [["S(8)"],[],["S(5)","T(3)"]]
# The output
b = []
# Loop over list
for i in a:
# Append each element list containing converted numbers
b.append([int(x.findall(j)[0]) for j in i])
print(b)
# Output: [[8], [], [5, 3]]