Converting a string to list for submission to easygui multenterb​ox

Laurent Pointal laurent.pointal at free.fr
Wed May 2 13:57:37 EDT 2012


ksals wrote:

> On May 1, 5:29 pm, John Gordon <gor... at panix.com> wrote:
>> In <3b5f65c4-cd95-4bb4-94f2-0c69cf2b1... at d20g2000vbh.googlegroups.com>
>> ksals <kbsals5... at gmail.com> writes:
>>
>> > The original choice looks like this when I print it:
>> > print(choice)
>> > ('ksals', '', 'alsdkfj', '3', '')
>> > I need to submit these as defaults to a multenterbox. Each entry above
>> > ksals, "", "alsdkfj', 3 , '' need to fill the five fields in the box.
>> > I tried your suggestion so you must be right it is a tuple of 5
>> > strings.  But I need them to work in an instruction like
>> > fieldValues =3D eg.multenterbox(msg1,title, fieldNames, choice)
>> > fieldNames has 5 fields.
>>
>> If you just need to convert a tuple to a list, that's easy.  Call the
>> built-in function list() and pass the tuple as an intializer:
>>
>> >>> choice = ('ksals', '', 'alsdkfj', '3', '')
>> >>> print choice
>>
>> ('ksals', '', 'alsdkfj', '3', '')>>> choice_list = list(choice)
>> >>> print choice_list
>>
>> ['ksals', '', 'alsdkfj', '3', '']
>>
>> --
>> John Gordon                   A is for Amy, who fell down the stairs
>> gor... at panix.com              B is for Basil, assaulted by bears
>> -- Edward Gorey, "The Gashlycrumb Tinies"
>>
>>
> This is a small excert to show you what I get
> 
> for choice in easygui.multchoicebox(msg1, title,qstack):
>             if choice[0] == None:
>                 print ("No entries made")
>                 break
> 
> 
>             print("CHOICE IS: ",choice)    .....         CHOICE IS:
> ('', 'ksals', '', '', '')
>             c=list(choice)
>             print("C IS: ",c)              .....      C IS:  ['(',
> "'", "'", ',', ' ', "'", 'k', 's', 'a', 'l', 's', "'", ',', ' ', "'",
> "'", ',', ' ', "'", "'", ',', ' ', "'", "'",
> ')']

Looks like you have your tuple expression
	('ksals', '', 'alsdkfj', '3', '')
not as a tuple, but as a string. Do you convert it somewhere ? 

If you have it as a string, you can use eval() (not safe!) on the string to 
retrieve the tuple, then list() on the tuple to get a list.


-- 
Laurent POINTAL - laurent.pointal at laposte.net
3 allée des Orangers - 91940 Les Ulis - France
Tél. 01 69 29 06 59




More information about the Python-list mailing list