C#では、LINQを使用して、列挙型がある場合enumerable
、次のことができます。
// a: Does the enumerable contain an item that satisfies the lambda?
bool contains = enumerable.Any(lambda);
// b: How many items satisfy the lambda?
int count = enumerable.Count(lambda);
// c: Return an enumerable that contains only distinct elements according to my custom comparer
var distinct = enumerable.Distinct(comparer);
// d: Return the first element that satisfies the lambda, or throws an exception if none
var element = enumerable.First(lambda);
// e: Returns an enumerable containing all the elements except those
// that are also in 'other', equality being defined by my comparer
var except = enumerable.Except(other, comparer);
PythonはC#よりも簡潔な構文を持っている(したがって生産性が高い)と聞いていますが、Pythonで反復可能で、同じ量以下のコードで同じことを実現するにはどうすればよいですか?
注:(、、)を実行する必要がない場合は、反復可能オブジェクトをリストに具体化する必要はありAny
ませCount
んFirst
。