Ruby Python Java Tri insensible à la casse

introduction

En parlant de tri, c'est dans l'ordre numérique et dans l'ordre du dictionnaire, mais j'ai étudié d'autres sortes.

Histoire ajustée

Read @ jag_507's * Ruby learning with AtCoder 10 [1st algorithm practice test DoubleCamelCase Sort] * et * AtCoder 1st algorithm practice J'ai essayé le test F --DoubleCamelCase Sort *, mais le tri ne fonctionne pas.

sort.rb


a = ["FisH", "DoG", "CaT", "AA", "AaA", "AbC", "AC"]
a.sort
 # => ["AA", "AC", "AaA", "AbC", "CaT", "DoG", "FisH"] #Valeur de retour réelle
      ["AA", "AaA", "AbC", "AC", "CaT", "DoG", "FisH"] #Valeur de retour attendue

Cet article: * [commande de tri, principes de base et applications et interruptions](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) * Existe-t-il une option -f comme ~~ Doraemon ~~ Aidez l'enseignant de Google.

Tri insensible à la casse

De nombreux langages de programmation, pas seulement * Ruby *, trient par «ordre du dictionnaire», de sorte que les majuscules sont plus jeunes en majuscules et en minuscules. Par conséquent, nous avons besoin d'un tri insensible à la casse. 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]

Pour *** Java ***, CASE_INSENSITIVE_ORDER est préparé.

Résumé

Site référencé

Recommended Posts

Ruby Python Java Tri insensible à la casse
Java VS PHP VS Python VS Ruby
Résolution avec Ruby, Perl, Java et Python AtCoder ABC 131 D Tri des tableaux
paiza POH ec-campagne (C # / Java / Python / Ruby) # paizahack_01
Résolution avec Ruby, Perl, Java et Python AtCoder ARC 086 C Hash Sorting
Tendances 2014 du cadre d'application Web (PHP / Java / Ruby / Python / Perl)
Qu'est-ce que l'algorithme [Ruby / Python / Java / Swift / JS]?
Ruby, Python et carte
Python et Ruby se séparent
[Python] Tri des données Numpy
Écrivons respectivement Python, Ruby, PHP, Java, JavaScript
Comparaison grammaticale de base en cinq langues (C #, Java, Python, Ruby, Kotlin)
Résolution avec Ruby, Perl, Java et Python AtCoder ATC 002 A
Résolution avec Ruby, Perl, Java et Python AtCoder ATC 002 B
Hello World dans divers langages [Python / PHP / Java / Perl / Ruby]
AtCoder ABC168 Une expression de cas résolue en Ruby et Python
Python sur Ruby et Ruby en colère sur Python
Comparaison de vitesse de Python, Java, C ++
Entrée standard / résumé / python, ruby
J'ai comparé Java et Python!
Tri des fichiers image avec Python (2)
Tri des fichiers image avec Python (3)
Techniques de tri en Python
Zundokokiyoshi avec python / rubis / Lua
À propos de Perl, Python, PHP, Ruby
Tri des fichiers image avec Python
Syntaxe Ruby et Python ~ branch ~
Ruby, Guide d'installation du module Python
Résolution en Ruby, Python et Java AtCoder ABC141 D Priority Queue
AtCoder ARC104 B Somme cumulative résolue en Ruby, Python et Java
Résolution avec Ruby, Perl, Java et Python AtCoder ABC 065 C-th power