Idiom #113 Iterate over map entries, ordered by values
Print each key k with its value x from an associative array mymap, in ascending order of x.
Multiple entries may exist for the same value x.
- C++
- C#
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- D
- Dart
- Elixir
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Go
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- Haskell
- JS
- Java
- Java
- Java
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Perl
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Prolog
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Ruby
- Rust
- Rust
Idiom #286 Iterate over characters of a string
Print a line "Char i is c" for each character c of the string s, where i is the character index of c in s (not the byte index).
Make sure that multi-byte characters are properly handled, and count for a single character.
Idiom #143 Iterate alternatively over two lists
Iterate alternatively over the elements of the lists items1 and items2. For each iteration, print the element.
Explain what happens if items1 and items2 have different size.
Idiom #13 Iterate over map keys and values
Access each key k with its value x from an associative array mymap, and print them.
Idiom #7 Iterate over list indexes and values
Print each index i with its value x from an array-like collection items
Idiom #6 Iterate over list values
Do something with each item x of the list (or array) items, regardless indexes.
- Ada
- C
- C
- Caml
- Clojure
- Cobol
- C++
- C#
- D
- D
- Dart
- Elixir
- Elixir
- Erlang
- Erlang
- Fortran
- Go
- Groovy
- Groovy
- Groovy
- Haskell
- JS
- JS
- JS
- JS
- JS
- Java
- Java
- Java
- Java
- Java
- Java
- Kotlin
- Kotlin
- Kotlin
- Lisp
- Lua
- Obj-C
- PHP
- PHP
- Pascal
- Perl
- Perl
- Python
- Python
- Python
- Ruby
- Ruby
- Rust
- Rust
- Scala
- Scala
- Scala
- Scheme
- Scheme
- Scheme
- Smalltalk
- Smalltalk
- VB
Idiom #12 Check if list contains a value
Check if the list contains the value x.
list is an iterable finite container.
- Ada
- C
- Caml
- Clojure
- Clojure
- C++
- C++
- C#
- D
- Dart
- Elixir
- Elixir
- Erlang
- Erlang
- Erlang
- Fortran
- Fortran
- Go
- Go
- Groovy
- Haskell
- Haskell
- JS
- JS
- Java
- Java
- Java
- Java
- Kotlin
- Kotlin
- Lisp
- Lisp
- Lua
- Obj-C
- PHP
- Pascal
- Pascal
- Pascal
- Perl
- Perl
- Prolog
- Python
- Ruby
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Rust
- Scala
- Scheme
- Scheme
- Smalltalk
- VB
Idiom #2 Print Hello 10 times
Loop to execute some code a constant number of times
- Ada
- C
- C
- Caml
- Clojure
- Cobol
- C++
- C++
- C++
- C#
- C#
- C#
- D
- D
- Dart
- Dart
- Elixir
- Erlang
- Fortran
- Go
- Go
- Go
- Groovy
- Haskell
- JS
- JS
- JS
- JS
- Java
- Java
- Java
- Java
- Java
- Java
- Java
- Kotlin
- Kotlin
- Kotlin
- Lisp
- Lua
- Lua
- Lua
- Lua
- Obj-C
- PHP
- PHP
- Pascal
- Perl
- Perl
- Perl
- Prolog
- Python
- Python
- Python
- Python
- Python
- Python
- Ruby
- Ruby
- Ruby
- Rust
- Rust
- Scala
- Scala
- Scheme
- Scheme
- Scheme
- Smalltalk
- Smalltalk
- VB
Idiom #280 Filter map
Remove all the elements from the map m that don't satisfy the predicate p.
Keep all the elements that do satisfy p.
Explain if the filtering happens in-place, i.e. if m is reused or if a new map is created.