valid_coupons(codes) filtering a list down to the valid ones with one comprehension (multiple if clauses or one combined condition).valid_coupons(['SAVE20', '1BAD00', 'save20', 'FLASH5'])
['SAVE20', 'FLASH5']
1BAD00 starts with a digit; save20 is lowercase.
Multiple if clauses in a comprehension AND together.
c[0].isdigit() detects the bad first character. Note: .isupper() on a string requires at least one cased character, which the no-leading-digit rule guarantees.