Python字符串遍历及Django女子联赛数据筛选技术问询
问题1:如何在Python中遍历字符串?
在Python里遍历字符串有好几种简单的路子,看你需求选就行:
直接用for循环撸每个字符:字符串本身就是可迭代对象,直接循环就能挨个拿到每个字符,新手友好还直观:
my_str = "Hello World" for char in my_str: print(char)带索引遍历(用enumerate):要是你需要同时拿到字符和它的位置索引,那就用
enumerate()函数,一步到位:my_str = "Hello World" for index, char in enumerate(my_str): print(f"索引 {index} 对应的字符是:{char}")用while循环手动控制:如果需要自定义循环条件,也可以通过下标索引来逐个访问字符,灵活度更高:
my_str = "Hello World" index = 0 while index < len(my_str): print(my_str[index]) index += 1
问题2:筛选包含"Womens'"的联赛
先给你提个优化建议:尽量在数据库层面做筛选,比把所有数据拉到内存里再过滤效率高太多,尤其是数据量大的时候。你可以直接修改查询语句,用Django的查询API来过滤:
# 直接从数据库捞含"Womens'"的联赛,效率拉满 women_leagues = League.objects.filter(name__contains="Womens'") for league in women_leagues: print(league.name)
要是因为某些原因你已经把所有联赛都查出来了(比如已经执行了leagues = League.objects.all()),那也可以在内存里用列表推导式快速过滤:
leagues = League.objects.all() # 内存中筛选符合条件的联赛 women_leagues = [league for league in leagues if "Womens'" in league.name] for league in women_leagues: print(league.name)
两种方式都能精准得到你要的结果:International Association of Womens' Basketball Players和Transamerican Womens' Football Athletics Conference。
内容的提问来源于stack exchange,提问作者user12970984
相关产品推荐
相关产品推荐

