# Test sequence e-->\'\'.join([v for v in sequence(\'abc\', \'d\', \'ef\', \'ghi
ID: 3606685 • Letter: #
Question
# Test sequence
e-->''.join([v for v in sequence('abc', 'd', 'ef', 'ghi')])-->abcdefghi
e-->''.join([v for v in sequence(hide('abc'), hide('d'), hide('ef'), hide('ghi'))])-->abcdefghi
e-->''.join([v for v in sequence(hide('ab'), hide('cdefgh'), hide('i'), hide('jklm'))])-->abcdefghijklm
# Test group_when
==-->[v for v in group_when('combustibles', lambda x : x in 'aeiou')]-->[['c', 'o'], ['m', 'b', 'u'], ['s', 't', 'i'], ['b', 'l', 'e'], ['s']]
==-->[v for v in group_when(hide('combustibles'), lambda x : x in 'aeiou')]-->[['c', 'o'], ['m', 'b', 'u'], ['s', 't', 'i'], ['b', 'l', 'e'], ['s']]
==-->[v for v in group_when(hide('combustibles'), lambda x : x in 'us')]-->[['c', 'o', 'm', 'b', 'u'], ['s'], ['t', 'i', 'b', 'l', 'e', 's']]
Explanation / Answer
def sequence(*arg):
for iterableItems in arg:
for item in iterableItems:
yield item
def hide(iterable):
for v in iterable:
yield v
# Test sequence
print(''.join([v for v in sequence('abc', 'd', 'ef', 'ghi')]))
print(''.join([v for v in sequence(hide('abc'), hide('d'), hide('ef'), hide('ghi'))]))
print(''.join([v for v in sequence(hide('ab'), hide('cdefgh'), hide('i'), hide('jklm'))]))
def group_when(iterable, predicate):
yield_list = []
for item in iterable:
yield_list.append(item)
if predicate(item):
yield yield_list
yield_list = []
if len(yield_list):
yield yield_list
print([v for v in group_when('combustibles', lambda x : x in 'aeiou')])
print([v for v in group_when(hide('combustibles'), lambda x : x in 'aeiou')])
print([v for v in group_when(hide('combustibles'), lambda x : x in 'us')])
Sample run
# copy pastable link: https://paste.ee/p/8qphx
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.