繁体   English   中英

如何从 PYTHON I 中以“A”开头的列表中提取单词?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM