visited_cities = [“纽约”,“上海”,“慕尼黑”,“玩具”,“迪拜”,“墨西哥城”,“圣保罗”,“海得拉巴”]
.sort()很容易做到,但是我不知道如何找出问题的第二部分。
答案 0 :(得分:0)
您可以使用正则表达式和类似的过滤器来做到这一点
import re
regex=re.compile('[A-Q]{1}.*')
cities = list(filter(lambda city: re.match(regex, city), visited_cities))
print(*cities, sep='\n')
regex变量查找从[A-Q]开始的任何城市
利用字符的Unicode代码点甚至有一个更简单的解决方案。看一下方法ord
for city in visited_cities:
first_character = city[0]
if ord(first_character) >= ord('A') and ord(first_character) <= ord('Q'):
print(city)
对Unicode代码点进行了排序,因此A在65处,B在66处... Q在81处,Z在90处。因此,如果您只想打印以A到A开头的城市问:您必须确保其Unicode代码点在65到81之间