【发布时间】:2020-10-08 10:51:38
【问题描述】:
ini_list = "[('G 05', 'Over-Speed', '1.63'), ('Load 23A_UF', '11.37'), ('Load 21A_UF', '11.38'), ('Load 08A_UF', '11.38'), ('Load 07A_UF', '11.38'), ('Load 12A_UF', '11.38'), ('Load 24A_UF', '11.38'), ('Load 15A_UF', '11.38'), ('Load 16A_UF', '11.38'), ('Load 04A_UF', '11.38'), ('Load 03A_UF', '11.38'), ('Load 18A_UF', '11.38'), ('Load 25A_UF', '11.38'), ('Load 27A_UF', '11.39'), ('Load 26A_UF', '11.39')]"
res = ini_list.strip('[]')
print(res)
('G 02', 'UV', '2.73')
result = res.strip('()')
print(result)
'G 02', 'UV', '2.73'
我有一个包含三个元素的列表,包含在括号中,我想从括号中提取每个元素并为其分配一个变量:('G 02', 'UV', '2.73'), ('Load 08A_UF ', '11.38') 等等等等,我想将变量分配给这个列表,结果如下: 括号内的第一个参数应该=元素 在某些情况下可能为空的第二个参数应该 = 原因 第三个参数总是一个数字,如果没有理由放在括号内,可能在第二个位置应该=时间。
因此结果应该如下所示:
元素 = G 05,加载 23A_UF,加载 21A_UF...列出的每个括号的第一个元素。 原因 = Over-Speed, , , 括号中不是数字的第二个元素 Time = 1.63, 11.37, 11.38,括号中的第三个元素是一个数字(总是一个数字) 我有许多列表,其中包含我以后想用来绘制各种事物的参数,因此我想从列表中提取每个参数并将其与特定变量相关联。 ini_list 中括号的数量各不相同,因此希望有一个循环。
我尝试在 Prathamesh Jadhav 的帮助下做到这一点:
ini_list = "[('G 05', 'Over-Speed', '1.63'), ('Load 23A_UF', '11.37'), ('Load 21A_UF', '11.38'), ('Load 08A_UF', '11.38'), ('Load 07A_UF', '11.38'), ('Load 12A_UF', '11.38'), ('Load 24A_UF', '11.38'), ('Load 15A_UF', '11.38'), ('Load 16A_UF', '11.38'), ('Load 04A_UF', '11.38'), ('Load 03A_UF', '11.38'), ('Load 18A_UF', '11.38'), ('Load 25A_UF', '11.38'), ('Load 27A_UF', '11.39'), ('Load 26A_UF', '11.39')]"
res = ini_list.strip('[]')
result = res.strip('()')
result1 = result.split(',')
result1=[x.strip(" ") for x in result1]
result1=[x.strip("''") for x in result1]
element = result1[0]
print("element:",element)
reason =result1[1]
print("reason:",reason)
time=result1[2]
print("time:",time)
但是,这仅适用于第一个括号,并且不会循环遍历整个括号列表,因此需要循环。但是当我尝试使用循环时,我无法摆脱括号和标点符号来隔离每个变量。
我如何得到它,所以它为上面提到的每个参数分配变量,所以它打印出来:
element = G 05, Load 23A_UF, Load 21A_UF, G 02
reason = Over-Speed, , ,UV
time = 1.63, 11.37, 11.38, 2.73
【问题讨论】:
-
如果你把所有的
'('改成'[',把')'改成']',把'改成",你可以用json解析。跨度>
标签: python list loops split strip