裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

汎用性のあるプログラム(関数)を書こうよ

2021年01月29日 | ブログラミング

毎度,おいしいテーマを提供いただき,ありがとうございます。

「全て異なる」という条件をPythonで実験する

ということですが,

要素数を無制限にした,以下のような回答があるかと思いきや。

a = [1,2,3,4,5]
all([a[i] != a[j] for i in range(len(a)-1) for j in range(i+1,len(a))]) # True

a = [1,2,1,4,5]
all([a[i] != a[j] for i in range(len(a)-1) for j in range(i+1,len(a))]) # False

残念でした。

Julia だと,

allequal(a) = all([a[i] != a[j] for j = 1:length(a), i = 1:length(a) if i < j])

という関数を作ればいつでも使えます。

a = [1,2,3,4,5]
allequal(a) # false
a = [1,2,1,4,5]
allequal(a) # true

いやいやそんな冗長な!!(^_^;)

length(Set(a)) == length(a)

 で,いいじゃん!!チャンチャン!

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Julia で R を使う(その2) | トップ | Julia と R のコラボレーショ... »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事