python-3.x - AttributeError:“list”对象没有属性“startswith”
问题描述
cities = ["New York", "Shanghai", "Munich", "Tokyo", "Dubai", "Mexico City", "São Paulo", "Hyderabad"]
for city_m in cities:
if cities.startswith("M"):
print("Cities that start with M:", cities)
else:
print("No cities start with M.")
打印(城市)
AttributeError Traceback (last last call last) in () 4 5 for city_m in city: ----> 6 if cities.startswith("M"): 7 print("Cities that start with M:", cities) 8 else :
AttributeError:“list”对象没有属性“startswith”
我试图列出以“m”开头的城市,但标题中出现错误,我不明白。也许我做错了什么,我很感激关于这个问题的任何反馈。先感谢您。
解决方案
您在 for 循环中引用了错误的变量:
for city_m in cities:
if cities.startswith("M"):
它应该是:
for city_m in cities:
if city_m.startswith("M"):
虽然这并不能完全解决您在遍历整个列表时的问题,并且每次都会打印城市,但您应该将以 m 开头的城市添加到列表中,然后在循环之外检查该列表:
cities = ["New York", "Shanghai", "Munich", "Tokyo", "Dubai", "Mexico City", "São Paulo", "Hyderabad"]
m_cities = []
for city_m in cities:
if city_m.startswith("M"):
m_cities.append(city_m)
if m_cities:
print("Cities that start with M:", m_cities)
else:
print("No cities start with M.")
# Prints "Cities that start with M: ['Munich', 'Mexico City']"
推荐阅读
- python - 如何解决或识别神经网络中的问题,可以在 Tensorboard Graphs 上看到
- definition - Nearley 标记器与规则
- php - 在 Woocommerce 3 中添加 3 个结帐选择字段作为复合日期字段
- coq - Coq:当只有一种情况时对 Prop for Set 执行反转
- python - Python 和队列文件管理
- asp.net - 引导弹出框内的 asp 复选框 oncheckedchanged 未触发
- javascript - 用零数据填充日志
- python - Tweepy error code 400
- javascript - puppeteer : how check if browser is still open and working
- amazon-web-services - Amazon EC2 - How to execute the 'launch" part of a Cross-Account AMI Copy?