I have an array that looks like this:

a = ['UCI_99648;102568',  'UCI_99648;102568',  'UCI_99648;102568;99651', 'UCI_99651', 'UCI_99652', 'SIB_99658;102568;506010;706080', NaN]

我想知道有多少刺只有一个数字,比如UCI_99651UCI_99652
所以,预期结果是2。
我怎么能在python中做到这一点。
注意:我的实际数据非常大,数字可以是任何东西,如示例中所述,可能包含丢失的值。

最佳答案

假设所有字符串的结构都遵循上述示例的结构,则如下所示的列表理解将起作用:

l = ['UCI_99648;102568',  'UCI_99648;102568',  'UCI_99648;102568;99651',
     'UCI_99651', 'UCI_99652', 'SIB_99658;102568;506010;706080', 'NaN']

[i for i in l if ';' not in i and i != 'NaN']

输出
['UCI_99651', 'UCI_99652']

10-06 12:03