python输出一个变量_将print的输出分配给python中的变量

亲自,我不会这样做.一个远不那么强硬的解决方案是首先从你的数据构建一个字典,然后将它作为** kwargs传递给一个函数.例如(这不是最优雅的方式,但它是说明性的):

import re

remove_non_digits = re.compile(r'[^\d.]+')

inputList = ["a='0.015in' lPrime='0.292' offX='45um' offY='75um' sPrime='0.393' twistLength='0'",

"a='0.015in' lPrime='0.292' offX='60um' offY='75um' sPrime='0.393' twistLength='0'",

"a='0.015in' lPrime='0.292' offX='75um' offY='75um' sPrime='0.393' twistLength='0'", '']

#remove empty strings

flag = True

while flag:

try:

inputList.remove('')

except ValueError:

flag=False

outputList = []

for varString in inputList:

varStringList = varString.split()

varDict = {}

for aVar in varStringList:

varList = aVar.split('=')

varDict[varList[0]] = varList[1]

outputList.append(varDict)

for aDict in outputList:

for aKey in aDict:

aDict[aKey] = float(remove_non_digits.sub('', aDict[aKey]))

print outputList

这打印:

[{'a': 0.014999999999999999, 'offY': 75.0, 'offX': 45.0, 'twistLength': 0.0, 'lPrime': 0.29199999999999998, 'sPrime': 0.39300000000000002}, {'a': 0.014999999999999999, 'offY': 75.0, 'offX': 60.0, 'twistLength': 0.0, 'lPrime': 0.29199999999999998, 'sPrime': 0.39300000000000002}, {'a': 0.014999999999999999, 'offY': 75.0, 'offX': 75.0, 'twistLength': 0.0, 'lPrime': 0.29199999999999998, 'sPrime': 0.39300000000000002}]

这似乎正是你想要的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值