<div dir="ltr"><div><font face="monospace,monospace">Don't know if this has been suggested before. Instead of writing something like</font></div><div><font face="monospace,monospace"><br></font></div><div><font face="monospace,monospace">>>> map(lambda x: x.upper(), ['a', 'b', 'c'])</font></div><div><font face="monospace,monospace"><br></font></div><div><font face="monospace,monospace">I suggest this syntax:</font></div><div><font face="monospace,monospace">>>> map(.upper(), ['a', 'b', 'c'])</font></div><div><font face="monospace,monospace"><br></font></div><div><font face="monospace,monospace">This would also work for attributes:</font></div><div><font face="monospace,monospace">>>> map(.real, [1j, 2, 3+4j])</font></div><div><font face="monospace,monospace"><br></font></div><div><font face="monospace,monospace">Internally, this would require translating</font></div><div><font face="monospace,monospace"><br></font></div><div><font face="monospace,monospace">.attribute -> lambda x: x.attribute</font></div><div><font face="monospace,monospace"><br></font></div><div><font face="monospace,monospace">and<br></font></div><div><font face="monospace,monospace"><br></font></div><div><font face="monospace,monospace">.method(*args, **kwargs) -> lambda x: x.method(*args, **kwargs)</font></div><div><font face="monospace,monospace"><br></font></div><div><font face="monospace,monospace">This translation should only take place where a "normal" attribute lookup makes no sense (throws a SyntaxError); i.e. foo.bar works as before, foo(.bar) would previously throw a SyntaxError, so the new syntax applies and the .bar is interpreted as an attrgetter.<br></font></div><div><font face="monospace,monospace"><br></font></div><div><font face="monospace,monospace">This is of course only a cosmetic improvement over operator.attrgetter and operator.methodcaller, but I think it's nice enough to warrant consideration.<br><br></font></div><div><font face="monospace,monospace">If you like this idea or think it's utter garbage, feel free to discuss.<br></font></div></div>