What does the list() function do in Python? - Stack Overflow
Is there a list of every Python function out there?
Python functions within lists - Stack Overflow
Is “letter” a sort of function in Python? Involving for loops
No, letter is a variable. Its value updates with each cycle of the loop (each letter of the string coursename). In a for loop, you're assigning the value to a variable from each element of a sequence. In this case, each character of a string.
Videos
list() converts the iterable passed to it to a list. If the itertable is already a list then a shallow copy is returned, i.e only the outermost container is new rest of the objects are still the same.
>>> t = (1,2,3,4,[5,6,7,8],9)
>>> lst = list(t)
>>> lst[4] is t[4] #outermost container is now a list() but inner items are still same.
True
>>> lst1 = [[[2,3,4]]]
>>> id(lst1)
140270501696936
>>> lst2 = list(lst1)
>>> id(lst2)
140270478302096
>>> lst1[0] is lst2[0]
True
Python has a well-established documentation set for every release version, readable at https://docs.python.org/. The documentation for list() states that list() is merely a way of constructing a list object, of which these are the listed ways:
- Using a pair of square brackets to denote the empty list: []
- Using square brackets, separating items with commas: [a], [a, b, c]
- Using a list comprehension: [x for x in iterable]
- Using the type constructor: list() or list(iterable)
The list() function accepts any iterable as its argument, and the return value is a list object.
Further reading: https://docs.python.org/3.4/library/stdtypes.html#typesseq-list
I recently learnt that stuff like .strip(), .title(), exists, which got me interested to learn about all these little bonus gimmicks about Python that I could use in my everyday tasks or to improve functionality in my code.
As of now I know that https://docs.python.org/3/library/functions.html exists but there isn't the functions mentioned above within that list. Is there another list of all these functions including those mentioned out there? Thank you
You can create anonymous functions using the lambda keyword.
def func(x,keyword='bar'):
return (x,keyword)
is roughly equivalent to:
func = lambda x,keyword='bar':(x,keyword)
So, if you want to create a list with functions in it:
my_list = [lambda x:x**2,lambda x:x**3]
print my_list0 #4
print my_list1 #8
Not really in Python. As mgilson shows, you can do this with trivial functions, but they can only contain expressions, not statements, so are very limited (you can't assign to a variable, for example).
This is of course supported in other languages: in Javascript, for example, creating substantial anonymous functions and passing them around is a very idiomatic thing to do.