Bir listede eşit değerler bulma
Sep 17 2020
Bir listeden eşit unsurları ve konumlarını çıkarmanın bir yolu var mı ???
Bir örnek olabilir
v = {13.51, 13.51, 12.36, 12.36, 12.36, 12.36, 12.85, 12.85, 12.85, 12.85}
istenen çıktı ile aşağıdaki gibi bir liste çıktı:
{{13.51, 12.36, 12.85},{2,4,4}}
solda doğru sırayla yazılmış öğeler ve sağda kaç kez tekrarladıkları var. Başlangıç listesindeki öğeler sıralı olarak kabul edilir. Teşekkürler
Yanıtlar
2 Bill Sep 17 2020 at 09:26
Deneyin
v = {13.51, 13.51, 12.36, 12.36, 12.36, 12.36, 12.85, 12.85, 12.85, 12.85};
Transpose[Tally[v]]
hangi döner
{{13.51, 12.36, 12.85}, {2, 4, 4}}
ve bunun sizin için her durumda işe yarayıp yaramadığını görün. Yaklaşık ondalık sayılar bazen eşitlik için test edilirken sorunlara neden olabilir.
UlrichNeumann Sep 17 2020 at 09:54
Deneyin Union
{13.51, 13.51, 12.36, 12.36, 12.36, 12.36, 12.85, 12.85, 12.85, 12.85} // Union
(*{12.36, 12.85, 13.51}*)
{1, 3, 3, 3, 4, 4, 4} //Union
(*{1, 3, 4}*)
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'