gpt4 book ai didi

python - 将多个 if 和 elif 语句应用于 for 循环中字符串列表中的子字符串

转载 作者:行者123 更新时间:2023-12-01 04:39:17 25 4
gpt4 key购买 nike

我有一个电子表格,列 (C1:C3159) 中充满了杂乱无章的开放文本字段,我想按文本中的各种关键字进行排序。我正在尝试编写一些Python代码,该代码循环遍历该列,查找关键字,并根据文本中找到的单词将该单元格中的字符串类别附加到一个空列表中。到目前为止我的代码看起来像这样。

## make an object attr for the column    
attr = ['C1:C3159']
## make all lower case
[x.lower() for x in attr]
## initialize an empty list
categories = []
## loop through attr object and append categories to the "categories" list
for i in attr:
if 'pest' or 'weed' or 'disease' or 'cide' or 'incid' or 'trap'/
or 'virus' or 'IPM' or 'blight' or 'incid' or 'rot' or 'suck' in i:
categories.append("pest management")

elif 'fert' or 'dap' or 'urea' or 'manga' or 'npk' pr 'inm' in i:
categories.append("fertilizer")

elif 'wind' or 'rain' or 'irr' or 'alt' or 'moist' or 'soil' or 'ph'\
or 'drip'or 'environ' or 'ec' in i:
categories.append("environment")

elif 'spac' or 'name' or 'stor' or 'yield' or 'rogu' or 'maint'\
or 'cond' or 'prod' or 'fenc' or 'child' or 'row' or 'prun' or 'hoe'\
or 'weight' or 'prep' or 'plot' or 'pull' or 'topp' in i:
categories.append("operations")

elif 'plant' or 'germin' or 'age' or 'bulk' or 'buds' or 'matur'\
or 'harvest' or 'surviv' or 'health' or 'height' or 'grow' in i:
categories.append("life cycle")

elif 'price' or 'sold' or 'inr' or 'cost' in i:
categories.append("market")

elif 'shed' or 'post' or 'fenc' or 'pond' or 'stor' in i:
categories.append("PPE")

else:
categories.append("uncategorized")

我遇到的问题是,在第一个 if 语句之后,elif 语句不会在循环中进行计算,并且我返回的列表仅包含归类为“害虫管理”的少数内容。有谁知道如何做我在这里尝试做的事情,以便评估整个循环?下面发布了列表中字符串的一小部分示例。

attr = ['Age of plantation',
'Altitude of Plantation',
'Annual production Last year (In Kg)',
'Average Price paid per kg in NPR (Last Year)',
'Majority Bush type',
'Pruning Cycle',
'Tea sold to ( Last Year)',
'Boll weight in grams',
'CLCuV incidence %',
'Dibbles per row',
'Gap Filling',
'Germination %',
'Hoeing',
'Land preparation',
'Land preparation date',
'Pest & disease incidence',
'Plot size in metre Square',
'Rows per entry',
'Spacing between plants in cms']

最佳答案

if 语句 elif 语句未被评估

if-elif 语句是互斥的。如果您希望在第一个 if 之后计算其他 if 条件,请将每个语句放在 if 而不是 elif

关于python - 将多个 if 和 elif 语句应用于 for 循环中字符串列表中的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31109554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com