Python chaining
Question:
Let’s say I have:
dic = {"z":"zv", "a":"av"}
## Why doesn't the following return a sorted list of keys?
keys = dic.keys().sort()
I know I could do the following and have the proper result:
dic = {"z":"zv", "a":"av"}
keys = dic.keys()
skeys = keys.sort() ### 'skeys' will be None
Why doesn’t the first example work?
Answers:
sort() modifies the contents of the existing list. It doesn’t return a list. See the manual.
.sort
doesn’t return the list. You could do:
keys = sorted(dic.keys())
Let’s say I have:
dic = {"z":"zv", "a":"av"}
## Why doesn't the following return a sorted list of keys?
keys = dic.keys().sort()
I know I could do the following and have the proper result:
dic = {"z":"zv", "a":"av"}
keys = dic.keys()
skeys = keys.sort() ### 'skeys' will be None
Why doesn’t the first example work?
sort() modifies the contents of the existing list. It doesn’t return a list. See the manual.
.sort
doesn’t return the list. You could do:
keys = sorted(dic.keys())