Logo

Programming-Idioms

Print each index i with its value x from an array-like collection items
New implementation

Be concise.

Be useful.

All contributions dictatorially edited by webmasters to match personal tastes.

Please do not paste any copyright violating material.

Please try to avoid dependencies to third-party libraries and frameworks.

Other implementations
with Ada.Text_IO;
use Ada.Text_IO;
for I in Items'Range loop
   X := Items (I);
   Put_Line (Integer'Image (I) & " " & Integer'Image (X));
end loop;
for (size_t i = 0; i < n; i++) {
  printf("Item %d = %s\n", i, toString(items[i]));
}
(* output_elem is a printer for elements of [items] *)
items |> List.iteri (fun i x ->
	printf "%d: %a" i output_elem x
)
(doseq [[i x] (map-indexed vector items)]
  (println i ":" x))
#include <ranges>
for (auto const [i, x] : std::views::enumerate(items)) {
  std::cout << i << ": " << x << '\n';
}
#include <iostream>
for (std::size_t ix = 0; ix < items.size(); ++ix) {
  std::cout << "Item " << ix << " = " << items[ix] << std::endl;
}
#include <iostream>
std::size_t i = 0;
for(const auto & x: items) {
  std::cout << "Item " << i++ << " = " << x << std::endl;
}
using System.Linq;
foreach (var (x, i) in items.Select((x, i)=>(x, i)))
{
    System.Console.WriteLine($"{i}: {x}");
}
using System.Collections.Generic;
foreach (var (i, x) in items.AsIndexed())
{
    System.Console.WriteLine($"{i}: {x}");
}

public static class Extensions
{
    public static IEnumerable<(int, T)> AsIndexed<T>(
        this IEnumerable<T> source)
    {
        var index = 0;
        foreach (var item in source)
        {
            yield return (index++, item);
        }
    }
}
using System;
for (int i = 0; i < items.Length; i++)
{
    Console.WriteLine($"{i} {items[i]}");
}
import std.stdio;
foreach(i, x; items)
{
   writefln("%s: %s", i, x);
}
import std.stdio, std.algorithm;
import std.range;
items.enumerate.each!(a => writeln("i = ", a[0], " value = ", a[1]));
import 'package:collection/collection.dart';
items.forEachIndexed((i, x) {
  print('index=$i, value=$x');
});
for (var i = 0; i < items.length; i++) {
  print('index=$i, value=${items[i]}');
}
items.asMap().forEach((i, x) {
  print('index=$i, value=$x');
});
items
|> Enum.with_index
|> Enum.each(fn({x, i}) ->
  IO.puts("#{i} => #{x}")
end)
WithIndex =
  lists:zip(lists:seq(1, length(Items)), Items),
io:format("~p~n", [WithIndex]).
do i=1, size(items)
  print *,i, items(i)
end do
import "fmt"
for i, x := range items {
    fmt.Printf("Item %d = %v \n", i, x)
}
items.eachWithIndex {
  x, i -> println "Item $i = $x"
}
mapM_ print (zip [0..] items)
for (var i in items) {
   console.log("index=" + i + ", value=" + items[i]);
}
items.forEach((val, idx) => {
  console.log("index=" + idx + ", value=" + val);
});
import static java.lang.System.out;
int i, n;
for (i = 0, n = items.size(); i < n; ++i)
    out.println(i + " = " + items.get(i));
import static java.lang.System.out;
int i = 0;
for (T t : items)
    out.println(i++ + " = " + t);
import static java.lang.System.out;
int i, n;
for (i = 0, n = items.length; i < n; ++i)
    out.println(i + " = " + items[i]);
import static java.lang.System.out;
import static java.util.stream.IntStream.range;
range(0, items.length)
    .forEach(i -> {
        out.println(i + " = " + items[i]);
    });
items.forEachIndexed { i, x -> 
  println("i=$i x=$x") 
}
(loop for i from 0 and x across items
      do (format t "~a = ~a~%" i x))
for i, x in ipairs(items) do
	print('Index: '..i..', Value: '..x)
end
@import Foundation;
[items enumerateObjectsUsingBlock:^(id x, NSUInteger i, BOOL *stop) {
  NSLog(@"Item %lu = %@",(u_long)i,x);
}];
foreach ($items as $i=>$x)
{
    echo "i=$i, x=$x"; echo '<br>';
}
uses Classes, SysUtils;
var I:Integer;
    Items: array of TObject;
[...]
  for I := 0 to high(Items) do
    if assigned(Items[I]) then
      WriteLn(Format('Item %d = %s', [I, Items[I].ToString]));
var I:Integer;
    Items: array of String;
[..]
  for I := 0 to high(Items) do
    WriteLn('Item ', I, ' = ', Items[I]);
use 5.012; # each @array
while (my ($i, $x) = each @items) {
    print "array[$i] = $x\n";
}
for i, x in enumerate(items):
    print(i, x)
for x in enumerate(items): print(x)
items.each_with_index do |x, i| 
  puts "Item #{i} = #{x}"
end
items.each_index{|i| puts "Item %d = %s" % [i, items[i]]}
for (i, x) in items.iter().enumerate() {
    println!("Item {} = {}", i, x);
}
items.iter().enumerate().for_each(|(i, x)| {
    println!("Item {} = {}", i, x);
})
val items = List("a", "b", "c")
items.zipWithIndex.foreach{ case (item, index) => 
  println(s"$index => $item")
}
(define (display-list items)
  (define (display-list items i)
    (if (not (null? items))
        (begin
          (display (string-append
                    (number->string i)
                    ": "
                    (number->string (first items))
                    "\n"))
          (display-list (rest items) (+ i 1)))
        'done))
  (display-list items 0))
items withIndexDo: [:item :index |
  Transcript showln: 'item: ' , item asString , ' index: ' , index asString].
For i = LBound(items) To UBound(items)
    x = items(i)
    Debug.Print i & ": " & x
Next
Imports System
For i As Integer = 0 To items.Length - 1
    Dim x = items(i)
    Console.WriteLine($"Item {i} = {x}")
Next
Imports System
For i As Integer = 0 To items.Count - 1
    Dim x = items(i)
    Console.WriteLine($"Item {i} = {x}")
Next