我想只提取输入元素为vector<string> parte = explode(linha, ";");
的Python xstring, xutility, xmemory0, xstddef
中的数字。
list
如何仅提取数字并创建如下列表?
str
答案 0 :(得分:-2)
如果值是包含数字的字符串,请使用此(如说明所述):
extracted_list = [s for s in input_list if s.isdigit()]
如果它们是实际数字(如您的示例所示),请使用:
extracted_list = [s for s in input_list if isinstance(s, (float,int,complex))]
虽然看起来你可以节省很多工作,直接将输入拉为空格分隔的整数,如下所示:
input_list = list(map(int, input().split()))
答案 1 :(得分:-2)
Python 3:
extracted_list = list(filter(lambda x: x != ' ' , input_list))
或者如果你想避免使用多个空格,请检查它是否为整数,并过滤掉任何不是整数的内容。
extracted_list = list(filter(lambda x: isinstance(x,int) , input_list))
如果您需要浮动或复合等其他类型,您可以这样做:
extracted_list = list(filter(lambda x: isinstance(x,(float,int,complex)) ,input_list))
speed: --- 6.818771362304688e-05 seconds ---
或任何数字
import numbers
input_list = [5, ' ', 43, ' ', 8, ' ', 109, ' ', 32, 3.14]
extracted_list = list(filter(lambda x: isinstance(x, numbers.Number) ,input_list))
print (extracted_list)
您可以在此处测试:http://py3.codeskulptor.org/#user301_l6dgnVkb19Or9dN.py
答案 2 :(得分:-5)
列出resultList = inputList。流()。 filter(value-&gt; value!=&#39;&#39;)。 collect(Collectors。toList());
过滤器将提取有效值。
它在java中