如何为字符串中的每个元素提取第二个单词。 (蟒蛇)

更新:因此列表中的一些字符串只有一个字长,这就是为什么它引发索引错误的原因。

我正在尝试提取每个元素中的第二个单词并将其保存到列表中。运行此程序时,我得到了TransactionTemplate.setTimeout()

IndexError: list index out of range可以提取第一个单词,但是在index = 1上运行相同的代码似乎不起作用。

df_list = [isplit()[0] for i in df_list]
GGsnake 回答:如何为字符串中的每个元素提取第二个单词。 (蟒蛇)

如果您的字符串只有一个单词,i.split()将为您提供长度为1的列表,然后尝试将其置于位置1(第二项)将给您一个错误。

df_list = ['ACTVIVTY PLN CMD','ACTIVITY CUST COST','OPTY TWO ORG','ACTIVITY']

有多种检查方法,例如:

df_list = [word for words in df_list for i,word in enumerate(words.split()) if i == 1]

或者:

df_list = [words.split()[1] for words in df_list if len(words.split()) > 1]

或者yuou也可能会寻找分隔单词的字符(通常是空格,但也可能是一些其他字符,例如制表符等)。

性能方面,第一个具有第二个for循环,第二个具有针对每个字符串的对split()的两次调用,而第三个则必须检查字符串中这些字符的压力,因此如果没有测试,就没有明显的赢家

本文链接:https://www.f2er.com/3028592.html

大家都在问