Optional parameters: Difference between revisions
Content added Content deleted
(added ocaml) |
(Python) |
||
Line 78: | Line 78: | ||
[["zap"; "zip"; "Zot"]; ["a"; "b"; "c"]; [""; "q"; "z"]]</lang> |
[["zap"; "zip"; "Zot"]; ["a"; "b"; "c"]; [""; "q"; "z"]]</lang> |
||
=={{header|Python}}== |
|||
Using a pretty-printer for the table |
|||
<lang python>>>> def printtable(data): |
|||
for row in data: |
|||
print ' '.join('%-5s' % ('"%s"' % cell) for cell in row) |
|||
>>> def sorttable(table, ordering=None, column=0, reverse=False): |
|||
return sorted(table, cmp=ordering, key=lambda row: row[column], reverse=reverse) |
|||
>>> data = [["a", "b", "c"], ["", "q", "z"], ["zap", "zip", "Zot"]] |
|||
>>> printtable(data) |
|||
"a" "b" "c" |
|||
"" "q" "z" |
|||
"zap" "zip" "Zot" |
|||
>>> printtable( sorttable(data) ) |
|||
"" "q" "z" |
|||
"a" "b" "c" |
|||
"zap" "zip" "Zot" |
|||
>>> printtable( sorttable(data, column=2) ) |
|||
"zap" "zip" "Zot" |
|||
"a" "b" "c" |
|||
"" "q" "z" |
|||
>>> printtable( sorttable(data, column=1) ) |
|||
"a" "b" "c" |
|||
"" "q" "z" |
|||
"zap" "zip" "Zot" |
|||
>>> printtable( sorttable(data, column=1, reverse=True) ) |
|||
"zap" "zip" "Zot" |
|||
"" "q" "z" |
|||
"a" "b" "c" |
|||
>>> printtable( sorttable(data, ordering=lambda a,b: cmp(len(b),len(a))) ) |
|||
"zap" "zip" "Zot" |
|||
"a" "b" "c" |
|||
"" "q" "z" |
|||
>>> </lang> |
|||
=={{header|Tcl}}== |
=={{header|Tcl}}== |
||