Find all attributes for each HTML tag
Notice in @alecxe's answer how he flipped the loops:
instead of iterating over tags and then lines,
he's iterating over lines and then tags.
This performs much better,
because only one BeautifulSoup is created per line,
in contrast with your implementation
where an instance is created for every tag and line pair,
which is many more instances of BeautifulSoup,
and wasted processing.

One more improvement over that could be using just one instance of BeautifulSoup,
if you can join all the lines into a single document,
instead of processing line by line:

soup = BeautifulSoup("\n".join(htmlist), "html.parser")

tags = defaultdict(set)
for tag in soup():
    tags[tag.name] |= set(tag.attrs)

for tag_name in sorted(tags):
    print("{name}:{attrs}".format(name=tag_name, attrs=",".join(sorted(tags[tag_name]))))


However this is not possible with the given lines,
because this line is invalid HTML and will mess up the document:


 '&lt;li id="coll-download-as-rl"&gt;&lt;a href="/w/index.php?title=Special:Book&amp;amp;bookcmd=render_article&amp;amp;arttitle=Main+Page&amp;amp;oldid=560327612',



If possible, I suggest to fix this line, and use the above approach.

 '&lt;li id="coll-download-as-rl"&gt;&lt;a href="/w/index.php?title=Special:Book&amp;amp;bookcmd=render_article&amp;amp;arttitle=Main+Page&amp;amp;oldid=560327612"&gt;&lt;/a&gt;&lt;/li&gt;',