Apropos Sortieren, es ist in numerischer Reihenfolge und Wörterbuchreihenfolge, aber ich habe andere Sorten untersucht.
Lesen Sie @ jag_507s * Ruby-Lernen mit AtCoder 10 [1. Algorithmus-Übungstest DoubleCamelCase Sort] * und * AtCoder 1. Algorithmus-Übung Ich habe den Test F --DoubleCamelCase Sort * ausprobiert, aber die Sortierung funktioniert nicht.
sort.rb
a = ["FisH", "DoG", "CaT", "AA", "AaA", "AbC", "AC"]
a.sort
# => ["AA", "AC", "AaA", "AbC", "CaT", "DoG", "FisH"] #Tatsächlicher Rückgabewert
["AA", "AaA", "AbC", "AC", "CaT", "DoG", "FisH"] #Erwarteter Rückgabewert
Dieser Artikel: * [Sortierbefehl, Grundlagen und Anwendungen und Traps](https://qiita.com/richmikan@github/items/cc4494359b1ac2f72311#-f%E8%BE%9E%E6%9B%B8%E9%A0% 86% E3% 81% AB% E4% B8% A6% E3% 81% B9% E3% 82% 8B) * Gibt es eine -f
-Option wie ~~ Doraemon ~~ Helfen Sie Google Sensei.
Viele Programmiersprachen, nicht nur * Ruby *, sortieren nach "Wörterbuchreihenfolge", sodass Groß- und Kleinschreibung jünger ist. Daher benötigen wir eine Sortierung ohne Berücksichtigung der Groß- und Kleinschreibung. Ruby
ruby.rb
a = ['a', 'b', 'c', 'd', 'e', 'A', 'B', 'C', 'D', 'E']
p a.sort
# => ["A", "B", "C", "D", "E", "a", "b", "c", "d", "e"]
p a
# => ["a", "b", "c", "d", "e", "A", "B", "C", "D", "E"]
p a.sort{|x, y| x.casecmp(y).nonzero? || x <=> y}
# => ["A", "a", "B", "b", "C", "c", "D", "d", "E", "e"]
p a.sort_by{ |s| [s.downcase, s] }
# => ["A", "a", "B", "b", "C", "c", "D", "d", "E", "e"]
python.py
a = ['a', 'b', 'c', 'd', 'e', 'A', 'B', 'C', 'D', 'E']
print(sorted(a))
# => ['A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e']
print(a)
# => ['a', 'b', 'c', 'd', 'e', 'A', 'B', 'C', 'D', 'E']
print(sorted(sorted(a), key=str.lower))
# => ['A', 'a', 'B', 'b', 'C', 'c', 'D', 'd', 'E', 'e']
java.java
List<String> a = Arrays.asList("a", "b", "c", "d", "e", "A", "B", "C", "D", "E");
a.sort(Comparator.naturalOrder());
System.out.println(a); // [A, B, C, D, E, a, b, c, d, e]
a.sort(String.CASE_INSENSITIVE_ORDER);
System.out.println(a); // [A, a, B, b, C, c, D, d, E, e]
Für *** Java *** wird CASE_INSENSITIVE_ORDER
vorbereitet.
Referenzierte Site
Recommended Posts