Fairgoers swing through the air on a ride at the San Diego county fair in Del Mar, California
Fairgoers swing through the air on a ride at the San Diego county fair in Del Mar, California, June29, 2011. Reuters

San Diego, which has been touted as having one of the best climates in the United States, is also the luckiest, according to a new ranking.

The sunny southern California city won the top spot in the Men's Health magazine list of America's 100 luckiest towns, with Baltimore, Phoenix, Wilmington in Delaware and Richmond, Virginia not far behind.

Luck is basically our modern world's magic, said David Zinczenko, editor in chief of the magazine. People need to believe in luck because it allows them to give a name to the randomness of life, and when you name something, you have more power over it.

To determine the most charmed towns the magazine analyzed data about cities with the most lottery and sweepstake winners, the most hole-in-ones on the golf course, the fewest lighting strikes, the least deaths from falling objects, and the lowest debt due to playing the lottery and race betting.

San Diego's multiple jackpot winners, its low lightning strike count, and its low number of lightning-related injuries and deaths helped push it to the top, Zinczenko said.

Las Vegas, the gambling capital of the country, and another betting hub, Reno, Nevada, also landed in the top 10.

It is in the top 10, Zinczenko said about Las Vegas. And you have to remember that there would be no Vegas if all of the gamblers were lucky all of the time.

At the opposite end of the spectrum Lady Luck was shinning the least on Charleston in West Virginia. It was the town with the highest rate of deaths from falling objects, with four times as many as San Diego, and had no lottery or sweepstake winners.

Tampa in Florida, Jackson, Mississippi and Memphis were also among the least lucky cities.

The full list of towns can be seen here