I want to create a list of length n with the letters of the alphabet.

For example, if n = 3, by list would be {a,b,c}. If n=6, the list would be {a,b,c,d,e,f}.

Is there any easy way to do this?


4 Answers 4


No need to use *CharacterCode[] :

letters[n_] := CharacterRange["a", "z"][[;; n]]

{"a", "b", "c"}
  • 2
    $\begingroup$ I'd say ugly but nice :) $\endgroup$
    – Kuba
    Commented May 23, 2014 at 12:52
  • 1
    $\begingroup$ Ha, it works even with non-Latin alphabets.. It is new for me, that Mathematica can correctly understand Cyrillic ranges of symbols :) $\endgroup$
    – Rom38
    Commented May 23, 2014 at 13:03
  • 1
    $\begingroup$ @Rom38 It works with all letters of all types that exist as a contiguous block in the character space. $\endgroup$ Commented May 23, 2014 at 13:12
  • $\begingroup$ Yes, it is true, but just 3-4 years ago Mathematica had permanent problems with Cyrillic alphabet (mostly regarded to encodings) $\endgroup$
    – Rom38
    Commented May 23, 2014 at 14:50

Nowadays, one can use Alphabet[] along with Take[] or Part[] + Span[]:

Take[Alphabet[], 6]
   {"a", "b", "c", "d", "e", "f"}

Take[Alphabet[], {19, UpTo[28]}]
   {"s", "t", "u", "v", "w", "x", "y", "z"}

In addition to this, Alphabet[] is aware of alphabets other than the Latin alphabet:

Take[Alphabet["Greek"], 5]
   {"α", "β", "γ", "δ", "ε"}

Take[Alphabet["Hebrew"], {4, 8}]
   {"ד", "ה", "ו", "ז", "ח"}
 lttrsF = FromCharacterCode /@ (ToCharacterCode[#][[1]] + Range[0, #2-1]) &
 lttrsF["b", 4]
 (*  {"b", "c", "d", "e"}  *)

You might want to use FromCharacterCode:


gives a string consisting of the character with integer code n.

letters[n_] := StringSplit[FromCharacterCode[Range[97, 97 + n - 1]], ""]

{"a", "b", "c"}


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.