Python -Liste Verständnis
squares = [item * item for item in range(5)]
Ninad Pethkar
squares = [item * item for item in range(5)]
liste range(101) = new_list = []
for i in liste:
if i%5 0: ==
if i%10 == 0:
new_list.append(i**2)
[expression for element in source_list]
l = [i for i in some_container]
>>> vec = [-4, -2, 0, 2, 4]
>>> # create a new list with the values doubled
>>> [x*2 for x in vec]
[-8, -4, 0, 4, 8]
>>> # filter the list to exclude negative numbers
>>> [x for x in vec if x >= 0]
[0, 2, 4]
>>> # apply a function to all the elements
>>> [abs(x) for x in vec]
[4, 2, 0, 2, 4]
>>> # call a method on each element
>>> freshfruit = [' banana', ' loganberry ', 'passion fruit ']
>>> [weapon.strip() for weapon in freshfruit]
['banana', 'loganberry', 'passion fruit']
>>> # create a list of 2-tuples like (number, square)
>>> [(x, x**2) for x in range(6)]
[(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]
>>> # the tuple must be parenthesized, otherwise an error is raised
>>> [x, x**2 for x in range(6)]
File "<stdin>", line 1, in <module>
[x, x**2 for x in range(6)]
^
SyntaxError: invalid syntax
>>> # flatten a list using a listcomp with two 'for'
>>> vec = [[1,2,3], [4,5,6], [7,8,9]]
>>> [num for elem in vec for num in elem]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> # List comprehensions can contain complex expressions and nested functions:
>>> from math import pi
>>> [str(round(pi, i)) for i in range(1, 6)]
['3.1', '3.14', '3.142', '3.1416', '3.14159']
say something
# A list comprehnsion is a for loop on a single line
# To create a list comprehension, swap the two lines in the for loop.
# Here we use PyBIDS to extract the relative path for each file:
for fmri in fmri_078:
print(fmri.relpath)
# And here is the equivalent statement as a list comprehension.
# It must be enclosed in square brackets.
# It swaps the order of the lines and loses the colon and indentation
[ print(fmri.relpath) for fmri in fmri_078 ]
squares = [item * item for item in range(5)]
squares = [item * item for item in range(5)]
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []
for x in fruits:
if "a" in x:
newlist.append(x)
print(newlist)