首页 > 解决方案 > 如果一组字符串为空,如何使用循环检查?

问题描述

我正在尝试遍历字符串(别名)循环以应用 unidecode,并避免在某些情况下没有别名单词的错误,我使用 if/else 检查是否有字符串或不是,所以我可以应用 unidecode。我尝试通过执行此代码检查单词的长度,但它一直说“列表”对象没有属性“元素”。我不确定我应该怎么做。

alias=record.findall("./person/names/aliases/alias")    
alias_name=[element.text for element in alias]         
if  len(alias_name.element.text)!=0:
        alias_names_str = ','.join(alias_name)
        alias_names_str=unidecode.unidecode(alias_names_str)
else: 
        alias_name.element.text="NONE"

标签: pythonstringloops

解决方案


不完全确定您要完成什么,但它看起来像一个 XML 或 HTML 解码器。

# alias is an iterable of elements
alias=record.findall("./person/names/aliases/alias")

# alias_names is a list of strings, you have already dereferenced the text
alias_names=[element.text for element in alias]         

if  len(alias_names)>0:
        alias_names_str = ','.join(alias_names)
        alias_names_str = unidecode.unidecode(alias_names_str)
else: 
        alias_names_str = "NONE"

推荐阅读