-6
私は、list = [1,2,3,'hello','bye',10,11,12,12.2,12.3]
という奇数インデックス(0から始まる)または整数である要素を返したいとします。アイデアはできるだけシンプルなコードにすることです。 ありがとう!あなたはリストの内包使用することができますリストから返された1つまたは別の条件がPythonで返されます
私は、list = [1,2,3,'hello','bye',10,11,12,12.2,12.3]
という奇数インデックス(0から始まる)または整数である要素を返したいとします。アイデアはできるだけシンプルなコードにすることです。 ありがとう!あなたはリストの内包使用することができますリストから返された1つまたは別の条件がPythonで返されます
:
[x for i,x in enumerate(lst) if i%2 == 1 or isinstance(x,int)]
をここでは、インデックス(ゼロベース)と要素とのタプル(i,x)
を生成するenumerate(..)
を利用します。リスト内のif
フィルタ:i%2 == 1
(奇数インデックス)またはx
のインスタンスがint
の場合にのみ要素が許可されます。これらの要素については、結果にx
を追加します。
結果は次のとおりです。
>>> [x for i,x in enumerate(lst) if i%2 == 1 or isinstance(x,int)]
[1, 2, 3, 'hello', 10, 11, 12, 12.3]
変数名としてlist
を使用ないでください:list
を使用することによって、あなたはもはやlist(..)
を使用することはできませんので、それはクラスの名前です。この回答はlst
で処理されます。
これは宿題ですか? – anonymoose
あなたが試したことを教えてください – donkopotamus
'1.0'は整数としてカウントされますか? – anonymoose