startswith - 只打印以给定字母/Python 开头的字符串
问题描述
使用 .sort() 按字母顺序打印来自visited_cities 列表的引用
仅打印名称以“Q”或更早开头的城市(表示 a 到 q)
visited_cities = [“纽约”、“上海”、“慕尼黑”、“东京”、“迪拜”、“墨西哥城”、“圣保罗”、“海得拉巴”]
.sort() 很容易做到,但我不知道如何找出问题的第二部分。
解决方案
你可以用正则表达式和过滤来做到这一点:
import re
regex=re.compile('[A-Q]{1}.*')
cities = list(filter(lambda city: re.match(regex, city), visited_cities))
print(*cities, sep='\n')
正则表达式变量查找从 [AQ] 开始的任何城市
通过使用字符的 Unicode 代码点,甚至还有更简单的解决方案。看方法顺序
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 到 Q 字母开头的城市,您有确保他们的 Unicode 代码点在 65 到 81 之间
推荐阅读
- python - 如何在 PyTorch 中修改预训练的 Torchvision 模型以返回两个输出用于多标签图像分类
- python - Seaborn 热图被截断
- python - 使用 pypi 预训练模型与 PyTorch
- java - 如果流中的流为空,如何记录消息?
- java - Map 和 orElse 返回不同的子类型
- java - 从java中的数组中找到最小值
- javascript - 为什么没有 shareReplay() 的 observable 的两个订阅不会执行两次代码?
- c# - 水平或垂直翻转二维数组的有效方法
- c# - FileSystemWatcher 锁定父文件夹,是否有修复或替代方法?
- python - 兑换
进入对象