Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- string = #extremely large number
- num = [int(c) for c in string if not c.isspace()]
- num = []
- for c in string:
- if not c.isspace():
- num.append(int(c))
- num = [ int( c)
- "num" shall be a list of: the int created from each c
- for c in string
- where c takes on each value found in string
- if not c .isspace() ]
- such that it is not the case that c is a space (end of list description)
- string = 'aVeryLargeNumber'
- num = [int(c) for c in string if not c.isspace()] #list comprehension
- """Breakdown of a list comprehension into it's parts."""
- num = [] #creates an empty list
- for c in string: #This threw me for a loop when I first started learning
- #as everytime I ran into the 'for something in somethingelse':
- #the c was always something else. The c is just a place holder
- #for a smaller unit in the string (in this example).
- #For instance we could also write it as:
- #for number in '1234567890':, which is also equivalent to
- #for x in '1234567890': or
- #for whatever in '1234567890'
- #Typically you want to use something descriptive.
- #Also, string, does not have to be just a string. It can be anything
- #so long as you can iterate (go through it) one item at a time
- #such as a list, tuple, dictionary.
- if not c.isspace(): #in this example it means if c is not a whitespace character
- #which is a space, line feed, carriage return, form feed,
- #horizontal tab, vertical tab.
- num.append(int(c)) #This converts the string representation of a number to an actual
- #number(technically an integer), and appends it to a list.
- '1234567890' # our string in this example
- num = []
- for c in '1234567890':
- if not c.isspace():
- num.append(int(c))
- num = [] #our list, empty for now
- for '1' in '1234567890':
- if not '1'.isspace():
- num.append(int('1'))
- num = [1] #our list, now with a one appended!
- for '2' in '1234567890':
- if not '2'.isspace():
- num.append(int('2'))
- Traceback (most recent call last):
- File "<string>", line 1, in <fragment>
- builtins.ValueError: invalid literal for int() with base 10: '.'
- >>> print [i for i in range(10)]
- [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
- >>> print [i for i in range(20) if i%2 == 0]
- [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
- >>> nums = [1,2,3,4]
- >>> fruit = ["Apples", "Peaches", "Pears", "Bananas"]
- >>> print [(i,f) for i in nums for f in fruit]
- [(1, 'Apples'), (1, 'Peaches'), (1, 'Pears'), (1, 'Bananas'),
- (2, 'Apples'), (2, 'Peaches'), (2, 'Pears'), (2, 'Bananas'),
- (3, 'Apples'), (3, 'Peaches'), (3, 'Pears'), (3, 'Bananas'),
- (4, 'Apples'), (4, 'Peaches'), (4, 'Pears'), (4, 'Bananas')]
- >>> print [(i,f) for i in nums for f in fruit if f[0] == "P"]
- [(1, 'Peaches'), (1, 'Pears'),
- (2, 'Peaches'), (2, 'Pears'),
- (3, 'Peaches'), (3, 'Pears'),
- (4, 'Peaches'), (4, 'Pears')]
- >>> print [(i,f) for i in nums for f in fruit if f[0] == "P" if i%2 == 1]
- [(1, 'Peaches'), (1, 'Pears'), (3, 'Peaches'), (3, 'Pears')]
- >>> print [i for i in zip(nums,fruit) if i[0]%2==0]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement