How remove ' ' in python, turning string to list or tuple

Question:

I am wondering if there is any idea to remove ‘ ‘ from tuple items in the passed and get the needed as below :

passed = (('XCl', 'XNa', 'Xwater'), 'WwaterNaCl', 'UwaterNaCl', 'VwaterNaCl', 'BNaCl')

needed = ((XCl, XNa, Xwater), WwaterNaCl, UwaterNaCl, VwaterNaCl, BNaCl)

what I ‘m getting in my code are two lists:

vars = ['XCl', 'XNa', 'Xwater']
params = ['WwaterNaCl', 'UwaterNaCl', 'VwaterNaCl', 'BNaCl']

then the following are made:

[['XCl', 'XNa', 'Xwater'], 'WwaterNaCl', 'UwaterNaCl', 'VwaterNaCl', 'BNaCl']

turning to,

lam_pars = ((XCl, XNa, Xwater), BNaCl, WwaterNaCl, UwaterNaCl,                   
 VwaterNaCl)

and should be passed in lambdify as following:

s_p = sp.lambdify(lam_pars, lnfca(), modules=["sympy"])
Asked By: user19396094

||

Answers:

To whom may find it useful, in the following way we can remove the quote and change string type to list or tuple:

import sympy as sym
vars = ['XCl', 'XNa', 'Xwater']
params = ['WwaterNaCl', 'UwaterNaCl', 'VwaterNaCl', 'BNaCl']
_symreg_1 = []
_symreg_2 = []
for i in vars:
    _symreg_1 += sym.symbols(i + ',')
print('_symreg_1:', type(_symreg_1), _symreg_1)
for i in params:
    _symreg_2 += sym.symbols(i + ',')
print('_symreg_2:', type(_symreg_2), _symreg_2)
_symreg_2.insert(0, _symreg_1)
print(_symreg_2)


>> _symreg_1: <class 'list'> [XCl, XNa, Xwater]
_symreg_2: <class 'list'> [WwaterNaCl, UwaterNaCl, VwaterNaCl, BNaCl]
[[XCl, XNa, Xwater], WwaterNaCl, UwaterNaCl, VwaterNaCl, BNaCl]

this way as list or tuple it can be passed to lambdify

Answered By: user19396094
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.