Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!

Idiom #294 Print a comma-separated list of integers

Given an array a containing the three values 1, 12, 42, print out
"1, 12, 42" with a comma and a space after each integer except the last one.

from functools import reduce
f = lambda x, y: f'{x}, {y}'
print(reduce(f, a))
a = [1, 12, 42]
print(*a, sep=', ')
print(', '.join(map(str, a)))
print(a[0], end='')
for i in range(1, len(a)):
    print(',', a[i], end='')
with Ada.Text_IO;
declare
   A : array (1 .. 3) of Integer := (1, 12, 42);
begin
   for I in A'Range loop
      Ada.Text_IO.Put (A (I)'Image);
      if I /= A'Last then
         Ada.Text_IO.Put (", ");
      end if;
   end loop;
end;
#include <array>
#include <sstream>
#include <iostream>
std::array a{1, 12, 42};

{
  std::stringstream _ss;
  auto iter = a.begin();
  _ss << *iter++;
  for (; iter != a.cend(); _ss << std::string_view(", ") << *iter++);
  std::cout << _ss.view();
}
print(a.join(", "));
  integer, dimension(:), allocatable :: a
  a = [1,12,42]
  write (*,'(*(I0:", "))') a
import "fmt"
a := []int{1, 12, 42}

for i, j := range a {
	if i > 0 {
		fmt.Print(", ")
	}
	fmt.Print(j)
}
let a = [1, 12, 42] in
  putStrLn $ intercalate ", " (show <$> a)
s = a.map(String).join(', ')
console.debug(s)
import static java.lang.System.out;
out.print(a[0]);
int i = 1, n = a.length;
while (i < n) out.print(", " + a[i++]);
import static java.lang.System.out;
import static java.util.stream.Collectors.joining;
import static java.util.stream.IntStream.of
String s = of(a)
    .mapToObj(String::valueOf)
    .collect(joining(", "));
out.println(s);
import static java.lang.System.out;
import static java.util.stream.IntStream.of;
String s = of(a)
    .mapToObj(String::valueOf)
    .reduce((x, y) -> x + ", " + y)
    .get();
out.println(s);
var
  a: array of integer;
  i: Integer;
begin
  a := [1,12,42];
  for i := Low(a) to High(a) do
  begin
    write(a[i]);
    if i <> High(a) then write(', ');
  end;
end.
@a = qw (1 12 42);
print join(", ",@a),"\n";
puts a.join(", ")
let a = [1, 12, 42];
println!("{}", a.map(|i| i.to_string()).join(", "))

New implementation...
< >
tkoenig