maybe, but a Spatial Join might get your there if you specify an appropriate
join_operation, join_type, field_mapping, match_option, and search_radius,
Spatial Join—Help | ArcGIS Desktop
Your code might help, but `for loops` can often be replaced by things like list comprehensions