import inspect
class Foo:
def getVarName(self):
for i in inspect.currentframe().f_back.f_locals.items():
if id(self) == id(i[1]):
return i[0]
if __name__ == '__main__':
x = Foo()
x1 = Foo()
x2 = Foo()
print(x.getVarName())
print(x1.getVarName())
print(x2.getVarName())
a = [[i, i*100] for i in range(15000)]
b = [[i, i*110] for i in range(15000)]
c = {}
for i in a+b:
c.setdefault(i[0], []).append(i[1:])
for i in a+b
сделать два цикла, для a и для b. Так мы не будем выделять память под новый бесполезный список только чтобы код смотрелся лаконичнее. Но 15000 подсписков — это, в общем, ерунда и особо заморачиваться не стоит.