Using String for new List name
Ethan Furman
ethan at stoneleaf.us
Mon Sep 28 13:18:37 EDT 2009
Scott wrote:
> I am new to Python but I have studied hard and written a fairly big
> (to me) script/program. I have solved all of my problems by Googling
> but this one has got me stumped.
>
> I want to check a string for a substring and if it exists I want to
> create a new, empty list using that substring as the name of the list.
> For example:
>
> Let's say file1 has line1 through line100 as the first word in each
> line.
>
> for X in open("file1"):
> Do a test.
> If true:
> Y = re.split(" ", X)
> Z = Y[0] # This is a string, maybe it is "Line42"
> Z = [] # This doesn't work, I want a new, empty
> list created called Line42 not Z.
>
> Is there any way to do this?
Assuming you made this work, and had a new variable called "Line42", how
would you know it was called "Line42" in the rest of your program?
What you could do is create a dict and have the key set to the new name,
e.g.:
new_names = {}
for X in open("file1");
Do a test.
if True:
Y = X.split(" ")
new_names[Y[0]] = []
then in the rest of your program you can refer to the keys in new_names:
for var in new_names:
item = new_names[var]
do_something_with(item)
Hope this helps!
~Ethan~
More information about the Python-list
mailing list