easy name problem - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: easy name problem (/thread-33988.html) |
easy name problem - Steinsack - Jun-16-2021 Hello, I am a beginner in Phyton. It is a very basic question I guess, but pls help me anyway :) listA=[] a=input() globals()[a]=[] #generates a new list with the name of the input string listA.append(????????) #question--> I would like to add the new list to listA. I know the name is in a, but if I put a in, the string gets added to listA and not the new list. What do I have to put inside the brackets? Cheers RE: easy name problem - snippsat - Jun-16-2021 You should not use globals() that's the internal dictionary that Python use.Can make visible dictionary that do the same,then it's much more understandable and readable for all. Here a look a two versions. list_a = [] animal = input('Enter a animal: ') # cat more_animals = ['Sheep', 'dog'] list_a.append(animal) list_a.append(more_animals) print(list_a) So this is normal way to make a list and append to it,will lose refence to variable names.If need also names for what is the data structure then can use a dictionary. list_a = [] animal_dict = {} animal_dict['animal'] = input('Enter a animal: ') more_animals = ['Sheep', 'dog'] animal_dict['more_animals'] = ['Sheep', 'dog'] # Can also append a dicionray to a list list_a.append(animal_dict) print(animal_dict) print(list_a) So now we have a visible dictionary that really dos the same as globals() .If first code i could to this which is a bad💀 way of doing this. >>> globals()['more_animals'] ['Sheep', 'dog']In second code it make more sense as can do this. >>> animal_dict['more_animals'] ['Sheep', 'dog'] |