Format list of list sub elements keeping structure.
Mark Lawrence
breamoreboy at gmail.com
Tue Jul 24 02:25:44 EDT 2018
On 24/07/18 06:41, Sayth Renshaw wrote:
> On Tuesday, 24 July 2018 14:25:48 UTC+10, Rick Johnson wrote:
>> Sayth Renshaw wrote:
>>
>>> elements = [['[{0}]'.format(element) for element in elements]for elements in data]
>>
>> I would suggest you avoid list comprehensions until you master long-form loops.
>
> I actually have the answer except for a glitch where on list element is an int.
>
> My code
>
> for item in data:
> out = '[{0}]'.format("][".join(item))
> print(out)
>
> which prints out
>
> [glossary]
> [glossary][title]
> [glossary][GlossDiv]
> [glossary][GlossDiv][title]
> [glossary][GlossDiv][GlossList]
> ....
>
> However, in my source I have two lines like this
>
> ['glossary', 'GlossDiv', 'GlossList', 'GlossEntry', 'GlossDef', 'GlossSeeAlso', 0],
> ['glossary', 'GlossDiv', 'GlossList', 'GlossEntry', 'GlossDef', 'GlossSeeAlso', 1],
>
> when it hits these lines I get
>
> TypeError: sequence item 6: expected str instance, int found
>
> Do I need to do an explicit check for these 2 cases or is there a simpler way?
>
> Cheers
>
> Sayth
>
out = '[{0}]'.format("][".join(str(item)))
--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.
Mark Lawrence
More information about the Python-list
mailing list