AttributeError:“list”对象没有属性“startswith”
Posted
技术标签:
【中文标题】AttributeError:“list”对象没有属性“startswith”【英文标题】:AttributeError: 'list' object has no attribute 'startswith' 【发布时间】:2020-05-03 11:50:28 【问题描述】: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(最近一次调用最后一次) 在 () 4 城市中的 city_m 为 5: ----> 6 如果 city.startswith("M"): 7 print("以M开头的城市:", 城市) 其他 8 个:
AttributeError: 'list' 对象没有属性 'startswith'
我正在尝试列出以“m”开头的城市,但标题中出现错误,我不明白。也许我做错了什么,我很感激关于这个问题的任何反馈。提前谢谢你。
【问题讨论】:
【参考方案1】:您在 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']"
【讨论】:
以上是关于AttributeError:“list”对象没有属性“startswith”的主要内容,如果未能解决你的问题,请参考以下文章
面对 AttributeError:'list' 对象没有属性 'lower'
AttributeError:“list”对象没有属性“startswith”
如何解决 AttributeError:'list' 对象在 python 中没有属性'keys' [关闭]
ansible AttributeError: 'list' 对象没有属性 'startswith'