Reputation: 71
I am getting list output like this, I want to make clear separation between lists so that I can access each list separately how do I do that
for Book in rootNode.getBooks():
CompareTables=[]
CompareTables.append(Book.getName())
for Table in Book.getTables():
CompareTables.append(Table.getName())
print CompareTables
Output:
['Document', 'A','B','C']
['Document', 'A','B','C','D','E','F']
I want output like this:
print CompareTables1
Output:
['Document', 'A','B','C']
print CompareTables2
['Document', 'A','B','C','D','E','F']
Upvotes: 0
Views: 188
Reputation: 1121494
Create a new list to add your per-book lists to:
all_compare_tables = []
for Book in rootNode.getBooks():
CompareTables=[]
CompareTables.append(Book.getName())
for Table in Book.getTables():
CompareTables.append(Table.getName())
all_compare_tables.append(CompareTables)
print all_compare_tables[0]
print all_compare_tables[1]
# better yet, loop:
for compare_tables in all_compare_tables:
print compare_tables
Alternatively, you could use a dictionary:
all_compare_tables = {}
for i, Book in enumerate(rootNode.getBooks(), 1):
CompareTables=[]
CompareTables.append(Book.getName())
for Table in Book.getTables():
CompareTables.append(Table.getName())
all_compare_tables['CompareTables{}'.format(i)] = CompareTables
The above example generates keys as CompareTables1
, CompareTables2
, etc. but perhaps you had better names in mind.
Printing these then becomes:
print all_compare_tables['CompareTables1']
print all_compare_tables['CompareTables2']
or loop over the all_compare_tables.keys()
or all_compare_tables.values()
sequences.
Upvotes: 3
Reputation: 14209
Well, a dict
is made for such cases:
CompareTables = {}
for Book in rootNode.getBooks():
book_name = Book.getName()
CompareTables[book_name] = []
for Table in Book.getTables():
CompareTables[book_name].append(Table.getName())
print CompareTables
Here your 2 books seem to have same title Document
, so you can use an index to differentiate them:
CompareTables = {}
for i, Book in enumerate(rootNode.getBooks(), 1):
book_name = Book.getName() + str(i)
CompareTables[book_name] = []
for Table in Book.getTables():
CompareTables[book_name].append(Table.getName())
print CompareTables
Upvotes: 0