文字列とint/floatを1つの配列から区切ってみるのに問題があります。これまでのところ私は、特定の文字列または数値ではなく、データ型をリストから/エキスを削除する方法を見つけることができる:(リストからデータ型を分離する方法は?
入力:
a = [1,2,3,'a',4,11,212,'a','b','c',3,32,4,'d','e']
所望の出力:
['a','a','b','c','d','e']
文字列とint/floatを1つの配列から区切ってみるのに問題があります。これまでのところ私は、特定の文字列または数値ではなく、データ型をリストから/エキスを削除する方法を見つけることができる:(リストからデータ型を分離する方法は?
入力:
a = [1,2,3,'a',4,11,212,'a','b','c',3,32,4,'d','e']
所望の出力:
['a','a','b','c','d','e']
のPythonオブジェクトが指定されたタイプのものであるかどうかをチェックするisinstance()機能を持っています。
Btwあなたの指定されたリストが正しくありません! 、あなたはあまりにも慣用的な方法を使用することができ、このシナリオを実現する多くの方法があります
>>> l = [1, 2, 3, 'a', 4, 11, 212, 'a', 'b', 'c', 3, 32, 4, 'd', 'e']
>>> [item for item in l if isinstance(item, str)]
['a', 'a', 'b', 'c', 'd', 'e']
あなたが使用することができますtype()
異なるデータタイプを区別する機能
https://docs.python .org/3/library/functions.html#type – Craicerjack
@Craicerjackありがとうございました。 –
a = [1,2,3,'a',4,11,212,'a','b','c',3,32,4,'d','e']
[x for x in a if type(x)==str]
出力は次のとおりです。
['a', 'a', 'b', 'c', 'd', 'e']
、
a = [1,2,3,'a',4,11,212,'a','b','c',3,32,4,'d','e']
print [item for item in a if type(item) is str]
Output list: ['a', 'a', 'b', 'c', 'd', 'e']
[パイソンの
可能な複製:リストからintに変換可能でない項目を削除するクリーンで効率的な方法](http://stackoverflow.com/questions/29913324/python-clean-and-efficient-way-to-remove-items-that-are-not-convertable-to-int) –