What you're describing is known as a Filter operation. You should look at the docs. The following code uses it to generate a brand new list of city names in a single line of code. Constructing a new list will prevent you from a whole class of mistakes that you can make while mutating your memory. The wiki article on Referential Transparency is a good starting point.
cities = ["New York", "Shanghai", "Munich", "Toyko", "Dubai"]
citiesWithLongNames = filter (lambda cityName: len (cityName) > 5, cities)
print (citiesWithLongNames) # => ['New York', 'Shanghai', 'Munich']
You should also read up on all the built in functions, and you'll find that there is a bunch of stuff built into python already that keeps you from having to implement trivialities manually.
Bonus: Using List Comprehensions:
print ([city for city in cities if len (city) > 5])
Much cleaner than nested loops. :)