[英]How do I extract words from a list that start with “A” in PYTHON I?
说明说“使用以下初始化列表:
w = ["Algorithm", "Logic", "Filter", "Software", "Network", "Parameters", "Analyze", "Algorithm", "Functionality", "Viruses"] 写一个循环来打印单词以“A”开头。
样本运行算法分析算法"
我尝试使用以下代码来做到这一点:
w = ["Algorithm", "Logic", "Filter", "Software", "Network", "Parameters", "Analyze", "Algorithm", "Functionality", "Viruses"]
for i in range(len(w)):
if (i[0] == "a" or i[0] == "A"):
print(w[i])
但我不断收到错误“第 4 行:TypeError:'int' 不支持索引”
请帮忙
您可以为此使用列表推导
>>> [word for word in w if word[0].upper() == 'A']
['Algorithm', 'Analyze', 'Algorithm']
如果您想区分大小写(即不匹配'a'
和'A'
),您可以删除.upper()
您忘记将单词从列表中取出,而是试图获取索引 (i) 的第一个字符,这显然不起作用。
w = ["Algorithm", "Logic", "Filter", "Software", "Network", "Parameters", "Analyze", "Algorithm", "Functionality", "Viruses"]
for i in range(len(w)):
if (w[i][0] == "a" or w[i][0] == "A"):
print(w[i])
然而,一种更“pythonic”的迭代列表的方式如下:
for word in w:
if (word[0] == "a" or word[0] == "A"):
print(word)
如何从以“A”开头的列表中提取单词
str.startswith
正是这样做的:
如果字符串以前缀开头,则返回 True,否则返回 False。 prefix 也可以是要查找的前缀元组。 使用可选开始,测试从 position 开始的字符串。 使用可选结束,停止比较该 position 处的字符串。
>>> [word for word in w if word.startswith("A")]
['Algorithm', 'Analyze', 'Algorithm']
另一种更简单的方法:
for word in w:
if word.startswith("A"):
print(word)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.