Python - "Struct arrays"
You want to create a class which contains name
and place
fields.
class Baz(): "Stores name and place pairs" def __init__(self, name, place): self.name = name self.place = place
Then you'd use a list of instances of that class.
my_foos = []my_foos.append(Baz("foo", "Shop"))my_foos.append(Baz("bar", "Home"))
See also: classes (from the Python tutorial).
That's what named tuples are for.
How about a list of dicts?
mydictlist = [{"name":"foo", "place":"Shop"}, {"name":"bar", "place":"Home"}]
Then you can do
>>> mydictlist[0]["name"]'foo'>>> mydictlist[1]["place"]'Home'
and so on...
Using your sample file:
mydictlist = []with open("test.txt") as f: for line in f: entries = line.strip().split(" ", 5) # split along spaces max. 5 times mydictlist.append({"name": entries[0], "time1": entries[1], "time2": entries[2], "etc": entries[5]})
gives you:
[{'etc': 'Vizfoldrajz EA eloadas 1', 'name': 'Hetfo', 'time2': '10:00', 'time1': '8:00'}, {'etc': 'Termeszetfoldrajzi szintezis EA eloadas 1', 'name': 'Hetfo', 'time2': '14:00', 'time1': '12:00'}, {'etc': 'Scriptnyelvek eloadas 1', 'name': 'Hetfo', 'time2': '16:00', 'time1': '14:00'} ...]