将"单词字符串"和"数字字符串"的列表转换为"数字字符串"转换为仅数字的列表

Mat*_*ew 3 python string python-3.x pandas

我意识到我对标题的措辞并不是最好的,但我希望有一个例子可以清楚这一点.

我如何转换像这样的列表

example_list = ["asdf" , "4", "asdfasdf" , "8" , "9" ,"asdf"]
Run Code Online (Sandbox Code Playgroud)

到像这样的列表

converted_list = ["asdf" , 4, "asdfasdf", 8 , 9 , "asdf"]
Run Code Online (Sandbox Code Playgroud)

那么基本上我如何创建一个列表,其中可以转换为整数的字符串转换为整数,而无法转换的字符串保留为字符串?

作为旁注,如果converted_list整数中的每个项目是否为整数,我将如何在for循环中进行测试?

这个问题的上下文是我试图在可能的情况下将pandas中的头转换为整数,因为所有整数都是现在的字符串.然后如果列有一个带有标题的字符串,我会取列的平均值.现在,我已将所有标题放入列表中.

Ale*_*der 6

您可以使用列表推导与三元组来确定列表中的每个元素是否为数字.

>>> [int(n) if n.isdigit() else n for n in example_list]
['asdf', 4, 'asdfasdf', 8, 9, 'asdf']
Run Code Online (Sandbox Code Playgroud)