I'm trying to learn about PEP-8 guidelines, writing Pythonic code, and about Python's standard libraries (am a day into this journey). Suggestions to make the following piece of code (including comments) more Pythonic would be much appreciated. I know the algorithm could be improved, but this isn't a priority at the moment - but please do write if you have an elegant solution!
I've run it through the following PEP-8 checker, so hopefully the basics are not a problem: http://pep8online.com/checkresult
import collections
def two_sum(input_list, target):
# Determine if two elements in list add to target
# dict_of_counts - key: element from input_list, value: count of element
dict_of_counts = collections.Counter(input_list)
for key in dict_of_counts:
complement_key = target - key
if complement_key in dict_of_counts:
# Corner case: complement_key is the same as key,
# but the count is one (so threat of a false +ve)
if complement_key != key:
return(True)
elif dict_of_counts[complement_key] > 1:
return(True)
return(False)
P.S. My first question ever : O !