A man who shot three people at a Zurich mosque yesterday is dead, police said, confirming that a body found near the scene was that of the assailant.

Zurich cantonal police said authorities had identified the suspect, but gave no details.

The gunman had stormed into the Islamic centre and opened fire on worshippers.

"The dead man found around 300 metres from the scene of the crime after the shooting in the mosque is the suspect," a statement on a police website said.

Two of the three victims were seriously injured in the attack, which took place shortly after 5.30pm local time (4.30pm Irish time) near the main train station in Switzerland's financial capital.

A third sustained less severe injuries.

Police had identified the suspect as a man around 30 years old, wearing dark clothing and a dark wool cap who fled after the attack.

Meanwhile, US President-elect Donald Trump, who will take office this day next month, has vowed to wipe "terrorists" off the face of the Earth, after a series of attacks in Germany, Turkey and Switzerland.

German police said a lorry which smashed through a Christmas market in Berlin last night was driven into the crowd deliberately, in scenes reminiscent of July's deadly truck attack in the French city of Nice.

Mr Trump condemned the "horrifying terror attack".

"ISIS and other Islamist terrorists continually slaughter Christians in their communities and places of worship as part of their global jihad," he added, referring to the so-called Islamic State group.

Mr Trump then promised: "These terrorists and their regional and worldwide networks must be eradicated from the face of the Earth, a mission we will carry out with all freedom-loving partners."

In Ankara, an off-duty policeman shot dead Russia's ambassador to Turkey.

Mr Trump, who yesterday prevailed in Electoral College voting to officially win election as the next US president, called the gunman a "radical Islamic terrorist".

The shooting, during which the gunman shouted "Aleppo" and "Allahu akbar" (God is great), occurred on the eve of a key meeting in Moscow between the Russian, Turkish and Iranian foreign ministers on the Syrian conflict.