Create alphabetically ascending list












3















I want to create alphabetically ascending names like the column names in excel. That is I want to have smth. like a,b,c,...,z,aa,ab,...az,...zz,aaa,aab,....



I have tried:



for i in range(1000):
mod = int(i%26)
div = int(i/26)
print(string.ascii_lowercase[div]+string.ascii_lowercase[mod])


Which works until zz but than fails because it runs out of index



aa
ab
ac
ad
ae
af
ag
ah
ai
aj
ak
al
.
.
.
zz



IndexError











share|improve this question























  • how many characters up do you want to go? Does it stop with 'zzz'? Or are you after an iterator?

    – Ev. Kounis
    Nov 22 '18 at 8:13


















3















I want to create alphabetically ascending names like the column names in excel. That is I want to have smth. like a,b,c,...,z,aa,ab,...az,...zz,aaa,aab,....



I have tried:



for i in range(1000):
mod = int(i%26)
div = int(i/26)
print(string.ascii_lowercase[div]+string.ascii_lowercase[mod])


Which works until zz but than fails because it runs out of index



aa
ab
ac
ad
ae
af
ag
ah
ai
aj
ak
al
.
.
.
zz



IndexError











share|improve this question























  • how many characters up do you want to go? Does it stop with 'zzz'? Or are you after an iterator?

    – Ev. Kounis
    Nov 22 '18 at 8:13
















3












3








3








I want to create alphabetically ascending names like the column names in excel. That is I want to have smth. like a,b,c,...,z,aa,ab,...az,...zz,aaa,aab,....



I have tried:



for i in range(1000):
mod = int(i%26)
div = int(i/26)
print(string.ascii_lowercase[div]+string.ascii_lowercase[mod])


Which works until zz but than fails because it runs out of index



aa
ab
ac
ad
ae
af
ag
ah
ai
aj
ak
al
.
.
.
zz



IndexError











share|improve this question














I want to create alphabetically ascending names like the column names in excel. That is I want to have smth. like a,b,c,...,z,aa,ab,...az,...zz,aaa,aab,....



I have tried:



for i in range(1000):
mod = int(i%26)
div = int(i/26)
print(string.ascii_lowercase[div]+string.ascii_lowercase[mod])


Which works until zz but than fails because it runs out of index



aa
ab
ac
ad
ae
af
ag
ah
ai
aj
ak
al
.
.
.
zz



IndexError








python alphabetical






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 22 '18 at 7:59









2Obe2Obe

9651725




9651725













  • how many characters up do you want to go? Does it stop with 'zzz'? Or are you after an iterator?

    – Ev. Kounis
    Nov 22 '18 at 8:13





















  • how many characters up do you want to go? Does it stop with 'zzz'? Or are you after an iterator?

    – Ev. Kounis
    Nov 22 '18 at 8:13



















how many characters up do you want to go? Does it stop with 'zzz'? Or are you after an iterator?

– Ev. Kounis
Nov 22 '18 at 8:13







how many characters up do you want to go? Does it stop with 'zzz'? Or are you after an iterator?

– Ev. Kounis
Nov 22 '18 at 8:13














5 Answers
5






active

oldest

votes


















4














You could make use of itertools.product():



from itertools import product
from string import ascii_lowercase

for i in range(1, 4):
for x in product(ascii_lowercase, repeat=i):
print(''.join(x))


First, you want all letters, then all pairs, then all triplets, etc. This is why we first need to iterate through all the string lengths you want (for i in range(...)).



Then, we need all possible associations with the i letters, so we can use product(ascii_lowercase) which is equivalent to a nested for loop repeated i times.



This will generate the tuples of size i required, finally just join() them to obtain a string.



To continuously generate names without limit, replace the for loop with while:



def generate():
i = 0
while True:
i += 1
for x in product(ascii_lowercase, repeat=i):
yield ''.join(x)

generator = generate()
next(generator) # 'a'
next(generator) # 'b'
...





share|improve this answer


























  • do you mean for i in range(1, 4):? because the way it is right now creates them up to 'zz'.

    – Ev. Kounis
    Nov 22 '18 at 8:15











  • @Ev.Kounis Sure, I edited it, thanks. In the end, this generic solution let the author choose the maximum length he needs.

    – Delgan
    Nov 22 '18 at 8:16



















4














For a general solution we can use a generator and islice from itertools:



import string
from itertools import islice
def generate():
base = ['']
while True:
next_base =
for b in base:
for i in range(26):
next_base.append(b + string.ascii_lowercase[i])
yield next_base[-1]
base = next_base

print('n'.join(islice(generate(), 1000)))


And the output:



a
b
c
...
z
aa
ab
...
zz
aaa
aab
...


And you can use islice to take as many strings as you need.






share|improve this answer





















  • 1





    use 4 space indentations.

    – Vineeth Sai
    Nov 22 '18 at 8:24



















1














Try:



>>import string
>>string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
>>len(string.ascii_lowercase)
26


When your index in below line exceed 26 it raise exception



div = int(i/26)


, becouse of ascii_lowercase length:



But you can:



for i in range(26*26):  # <--- 26 is string.ascii_lowercase
mod = int(i%26)
div = int(i/26)
print(string.ascii_lowercase[div]+string.ascii_lowercase[mod])


EDIT:



or you can use:



import string

n = 4 # number of chars
small_limit = len(string.ascii_lowercase)
limit = small_limit ** n
i = 0
while i < limit:
s = ''
for c in range(n):
index = int(i/(small_limit**c))%small_limit
s += string.ascii_lowercase[index]
print(s)
i += 1





share|improve this answer

































    0














    You can use:



    from string import ascii_lowercase
    l = list(ascii_lowercase) + [letter1+letter2 for letter1 in ascii_lowercase for letter2 in ascii_lowercase]+ [letter1+letter2+letter3 for letter1 in ascii_lowercase for letter2 in ascii_lowercase for letter3 in ascii_lowercase]





    share|improve this answer































      0














      There's an answer to this question provided on Code Review SE



      A slight modification to the answer in the link gives the following which works for an arbitrary number of iterations.



      def increment_char(c):
      return chr(ord(c) + 1) if c != 'z' else 'a'

      def increment_str(s):
      lpart = s.rstrip('z')
      num_replacements = len(s) - len(lpart)
      new_s = lpart[:-1] + increment_char(lpart[-1]) if lpart else 'a'
      new_s += 'a' * num_replacements
      return new_s

      s = ''
      for _ in range(1000):
      s = increment_str(s)
      print(s)





      share|improve this answer

























        Your Answer






        StackExchange.ifUsing("editor", function () {
        StackExchange.using("externalEditor", function () {
        StackExchange.using("snippets", function () {
        StackExchange.snippets.init();
        });
        });
        }, "code-snippets");

        StackExchange.ready(function() {
        var channelOptions = {
        tags: "".split(" "),
        id: "1"
        };
        initTagRenderer("".split(" "), "".split(" "), channelOptions);

        StackExchange.using("externalEditor", function() {
        // Have to fire editor after snippets, if snippets enabled
        if (StackExchange.settings.snippets.snippetsEnabled) {
        StackExchange.using("snippets", function() {
        createEditor();
        });
        }
        else {
        createEditor();
        }
        });

        function createEditor() {
        StackExchange.prepareEditor({
        heartbeatType: 'answer',
        autoActivateHeartbeat: false,
        convertImagesToLinks: true,
        noModals: true,
        showLowRepImageUploadWarning: true,
        reputationToPostImages: 10,
        bindNavPrevention: true,
        postfix: "",
        imageUploader: {
        brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
        contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
        allowUrls: true
        },
        onDemand: true,
        discardSelector: ".discard-answer"
        ,immediatelyShowMarkdownHelp:true
        });


        }
        });














        draft saved

        draft discarded


















        StackExchange.ready(
        function () {
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53426258%2fcreate-alphabetically-ascending-list%23new-answer', 'question_page');
        }
        );

        Post as a guest















        Required, but never shown

























        5 Answers
        5






        active

        oldest

        votes








        5 Answers
        5






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        4














        You could make use of itertools.product():



        from itertools import product
        from string import ascii_lowercase

        for i in range(1, 4):
        for x in product(ascii_lowercase, repeat=i):
        print(''.join(x))


        First, you want all letters, then all pairs, then all triplets, etc. This is why we first need to iterate through all the string lengths you want (for i in range(...)).



        Then, we need all possible associations with the i letters, so we can use product(ascii_lowercase) which is equivalent to a nested for loop repeated i times.



        This will generate the tuples of size i required, finally just join() them to obtain a string.



        To continuously generate names without limit, replace the for loop with while:



        def generate():
        i = 0
        while True:
        i += 1
        for x in product(ascii_lowercase, repeat=i):
        yield ''.join(x)

        generator = generate()
        next(generator) # 'a'
        next(generator) # 'b'
        ...





        share|improve this answer


























        • do you mean for i in range(1, 4):? because the way it is right now creates them up to 'zz'.

          – Ev. Kounis
          Nov 22 '18 at 8:15











        • @Ev.Kounis Sure, I edited it, thanks. In the end, this generic solution let the author choose the maximum length he needs.

          – Delgan
          Nov 22 '18 at 8:16
















        4














        You could make use of itertools.product():



        from itertools import product
        from string import ascii_lowercase

        for i in range(1, 4):
        for x in product(ascii_lowercase, repeat=i):
        print(''.join(x))


        First, you want all letters, then all pairs, then all triplets, etc. This is why we first need to iterate through all the string lengths you want (for i in range(...)).



        Then, we need all possible associations with the i letters, so we can use product(ascii_lowercase) which is equivalent to a nested for loop repeated i times.



        This will generate the tuples of size i required, finally just join() them to obtain a string.



        To continuously generate names without limit, replace the for loop with while:



        def generate():
        i = 0
        while True:
        i += 1
        for x in product(ascii_lowercase, repeat=i):
        yield ''.join(x)

        generator = generate()
        next(generator) # 'a'
        next(generator) # 'b'
        ...





        share|improve this answer


























        • do you mean for i in range(1, 4):? because the way it is right now creates them up to 'zz'.

          – Ev. Kounis
          Nov 22 '18 at 8:15











        • @Ev.Kounis Sure, I edited it, thanks. In the end, this generic solution let the author choose the maximum length he needs.

          – Delgan
          Nov 22 '18 at 8:16














        4












        4








        4







        You could make use of itertools.product():



        from itertools import product
        from string import ascii_lowercase

        for i in range(1, 4):
        for x in product(ascii_lowercase, repeat=i):
        print(''.join(x))


        First, you want all letters, then all pairs, then all triplets, etc. This is why we first need to iterate through all the string lengths you want (for i in range(...)).



        Then, we need all possible associations with the i letters, so we can use product(ascii_lowercase) which is equivalent to a nested for loop repeated i times.



        This will generate the tuples of size i required, finally just join() them to obtain a string.



        To continuously generate names without limit, replace the for loop with while:



        def generate():
        i = 0
        while True:
        i += 1
        for x in product(ascii_lowercase, repeat=i):
        yield ''.join(x)

        generator = generate()
        next(generator) # 'a'
        next(generator) # 'b'
        ...





        share|improve this answer















        You could make use of itertools.product():



        from itertools import product
        from string import ascii_lowercase

        for i in range(1, 4):
        for x in product(ascii_lowercase, repeat=i):
        print(''.join(x))


        First, you want all letters, then all pairs, then all triplets, etc. This is why we first need to iterate through all the string lengths you want (for i in range(...)).



        Then, we need all possible associations with the i letters, so we can use product(ascii_lowercase) which is equivalent to a nested for loop repeated i times.



        This will generate the tuples of size i required, finally just join() them to obtain a string.



        To continuously generate names without limit, replace the for loop with while:



        def generate():
        i = 0
        while True:
        i += 1
        for x in product(ascii_lowercase, repeat=i):
        yield ''.join(x)

        generator = generate()
        next(generator) # 'a'
        next(generator) # 'b'
        ...






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 22 '18 at 8:38

























        answered Nov 22 '18 at 8:08









        DelganDelgan

        9,14453973




        9,14453973













        • do you mean for i in range(1, 4):? because the way it is right now creates them up to 'zz'.

          – Ev. Kounis
          Nov 22 '18 at 8:15











        • @Ev.Kounis Sure, I edited it, thanks. In the end, this generic solution let the author choose the maximum length he needs.

          – Delgan
          Nov 22 '18 at 8:16



















        • do you mean for i in range(1, 4):? because the way it is right now creates them up to 'zz'.

          – Ev. Kounis
          Nov 22 '18 at 8:15











        • @Ev.Kounis Sure, I edited it, thanks. In the end, this generic solution let the author choose the maximum length he needs.

          – Delgan
          Nov 22 '18 at 8:16

















        do you mean for i in range(1, 4):? because the way it is right now creates them up to 'zz'.

        – Ev. Kounis
        Nov 22 '18 at 8:15





        do you mean for i in range(1, 4):? because the way it is right now creates them up to 'zz'.

        – Ev. Kounis
        Nov 22 '18 at 8:15













        @Ev.Kounis Sure, I edited it, thanks. In the end, this generic solution let the author choose the maximum length he needs.

        – Delgan
        Nov 22 '18 at 8:16





        @Ev.Kounis Sure, I edited it, thanks. In the end, this generic solution let the author choose the maximum length he needs.

        – Delgan
        Nov 22 '18 at 8:16













        4














        For a general solution we can use a generator and islice from itertools:



        import string
        from itertools import islice
        def generate():
        base = ['']
        while True:
        next_base =
        for b in base:
        for i in range(26):
        next_base.append(b + string.ascii_lowercase[i])
        yield next_base[-1]
        base = next_base

        print('n'.join(islice(generate(), 1000)))


        And the output:



        a
        b
        c
        ...
        z
        aa
        ab
        ...
        zz
        aaa
        aab
        ...


        And you can use islice to take as many strings as you need.






        share|improve this answer





















        • 1





          use 4 space indentations.

          – Vineeth Sai
          Nov 22 '18 at 8:24
















        4














        For a general solution we can use a generator and islice from itertools:



        import string
        from itertools import islice
        def generate():
        base = ['']
        while True:
        next_base =
        for b in base:
        for i in range(26):
        next_base.append(b + string.ascii_lowercase[i])
        yield next_base[-1]
        base = next_base

        print('n'.join(islice(generate(), 1000)))


        And the output:



        a
        b
        c
        ...
        z
        aa
        ab
        ...
        zz
        aaa
        aab
        ...


        And you can use islice to take as many strings as you need.






        share|improve this answer





















        • 1





          use 4 space indentations.

          – Vineeth Sai
          Nov 22 '18 at 8:24














        4












        4








        4







        For a general solution we can use a generator and islice from itertools:



        import string
        from itertools import islice
        def generate():
        base = ['']
        while True:
        next_base =
        for b in base:
        for i in range(26):
        next_base.append(b + string.ascii_lowercase[i])
        yield next_base[-1]
        base = next_base

        print('n'.join(islice(generate(), 1000)))


        And the output:



        a
        b
        c
        ...
        z
        aa
        ab
        ...
        zz
        aaa
        aab
        ...


        And you can use islice to take as many strings as you need.






        share|improve this answer















        For a general solution we can use a generator and islice from itertools:



        import string
        from itertools import islice
        def generate():
        base = ['']
        while True:
        next_base =
        for b in base:
        for i in range(26):
        next_base.append(b + string.ascii_lowercase[i])
        yield next_base[-1]
        base = next_base

        print('n'.join(islice(generate(), 1000)))


        And the output:



        a
        b
        c
        ...
        z
        aa
        ab
        ...
        zz
        aaa
        aab
        ...


        And you can use islice to take as many strings as you need.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 22 '18 at 8:28

























        answered Nov 22 '18 at 8:14









        andersourceandersource

        49918




        49918








        • 1





          use 4 space indentations.

          – Vineeth Sai
          Nov 22 '18 at 8:24














        • 1





          use 4 space indentations.

          – Vineeth Sai
          Nov 22 '18 at 8:24








        1




        1





        use 4 space indentations.

        – Vineeth Sai
        Nov 22 '18 at 8:24





        use 4 space indentations.

        – Vineeth Sai
        Nov 22 '18 at 8:24











        1














        Try:



        >>import string
        >>string.ascii_lowercase
        'abcdefghijklmnopqrstuvwxyz'
        >>len(string.ascii_lowercase)
        26


        When your index in below line exceed 26 it raise exception



        div = int(i/26)


        , becouse of ascii_lowercase length:



        But you can:



        for i in range(26*26):  # <--- 26 is string.ascii_lowercase
        mod = int(i%26)
        div = int(i/26)
        print(string.ascii_lowercase[div]+string.ascii_lowercase[mod])


        EDIT:



        or you can use:



        import string

        n = 4 # number of chars
        small_limit = len(string.ascii_lowercase)
        limit = small_limit ** n
        i = 0
        while i < limit:
        s = ''
        for c in range(n):
        index = int(i/(small_limit**c))%small_limit
        s += string.ascii_lowercase[index]
        print(s)
        i += 1





        share|improve this answer






























          1














          Try:



          >>import string
          >>string.ascii_lowercase
          'abcdefghijklmnopqrstuvwxyz'
          >>len(string.ascii_lowercase)
          26


          When your index in below line exceed 26 it raise exception



          div = int(i/26)


          , becouse of ascii_lowercase length:



          But you can:



          for i in range(26*26):  # <--- 26 is string.ascii_lowercase
          mod = int(i%26)
          div = int(i/26)
          print(string.ascii_lowercase[div]+string.ascii_lowercase[mod])


          EDIT:



          or you can use:



          import string

          n = 4 # number of chars
          small_limit = len(string.ascii_lowercase)
          limit = small_limit ** n
          i = 0
          while i < limit:
          s = ''
          for c in range(n):
          index = int(i/(small_limit**c))%small_limit
          s += string.ascii_lowercase[index]
          print(s)
          i += 1





          share|improve this answer




























            1












            1








            1







            Try:



            >>import string
            >>string.ascii_lowercase
            'abcdefghijklmnopqrstuvwxyz'
            >>len(string.ascii_lowercase)
            26


            When your index in below line exceed 26 it raise exception



            div = int(i/26)


            , becouse of ascii_lowercase length:



            But you can:



            for i in range(26*26):  # <--- 26 is string.ascii_lowercase
            mod = int(i%26)
            div = int(i/26)
            print(string.ascii_lowercase[div]+string.ascii_lowercase[mod])


            EDIT:



            or you can use:



            import string

            n = 4 # number of chars
            small_limit = len(string.ascii_lowercase)
            limit = small_limit ** n
            i = 0
            while i < limit:
            s = ''
            for c in range(n):
            index = int(i/(small_limit**c))%small_limit
            s += string.ascii_lowercase[index]
            print(s)
            i += 1





            share|improve this answer















            Try:



            >>import string
            >>string.ascii_lowercase
            'abcdefghijklmnopqrstuvwxyz'
            >>len(string.ascii_lowercase)
            26


            When your index in below line exceed 26 it raise exception



            div = int(i/26)


            , becouse of ascii_lowercase length:



            But you can:



            for i in range(26*26):  # <--- 26 is string.ascii_lowercase
            mod = int(i%26)
            div = int(i/26)
            print(string.ascii_lowercase[div]+string.ascii_lowercase[mod])


            EDIT:



            or you can use:



            import string

            n = 4 # number of chars
            small_limit = len(string.ascii_lowercase)
            limit = small_limit ** n
            i = 0
            while i < limit:
            s = ''
            for c in range(n):
            index = int(i/(small_limit**c))%small_limit
            s += string.ascii_lowercase[index]
            print(s)
            i += 1






            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Nov 22 '18 at 9:21

























            answered Nov 22 '18 at 8:30









            WikSWikS

            589




            589























                0














                You can use:



                from string import ascii_lowercase
                l = list(ascii_lowercase) + [letter1+letter2 for letter1 in ascii_lowercase for letter2 in ascii_lowercase]+ [letter1+letter2+letter3 for letter1 in ascii_lowercase for letter2 in ascii_lowercase for letter3 in ascii_lowercase]





                share|improve this answer




























                  0














                  You can use:



                  from string import ascii_lowercase
                  l = list(ascii_lowercase) + [letter1+letter2 for letter1 in ascii_lowercase for letter2 in ascii_lowercase]+ [letter1+letter2+letter3 for letter1 in ascii_lowercase for letter2 in ascii_lowercase for letter3 in ascii_lowercase]





                  share|improve this answer


























                    0












                    0








                    0







                    You can use:



                    from string import ascii_lowercase
                    l = list(ascii_lowercase) + [letter1+letter2 for letter1 in ascii_lowercase for letter2 in ascii_lowercase]+ [letter1+letter2+letter3 for letter1 in ascii_lowercase for letter2 in ascii_lowercase for letter3 in ascii_lowercase]





                    share|improve this answer













                    You can use:



                    from string import ascii_lowercase
                    l = list(ascii_lowercase) + [letter1+letter2 for letter1 in ascii_lowercase for letter2 in ascii_lowercase]+ [letter1+letter2+letter3 for letter1 in ascii_lowercase for letter2 in ascii_lowercase for letter3 in ascii_lowercase]






                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Nov 22 '18 at 8:17









                    JoeJoe

                    5,91621129




                    5,91621129























                        0














                        There's an answer to this question provided on Code Review SE



                        A slight modification to the answer in the link gives the following which works for an arbitrary number of iterations.



                        def increment_char(c):
                        return chr(ord(c) + 1) if c != 'z' else 'a'

                        def increment_str(s):
                        lpart = s.rstrip('z')
                        num_replacements = len(s) - len(lpart)
                        new_s = lpart[:-1] + increment_char(lpart[-1]) if lpart else 'a'
                        new_s += 'a' * num_replacements
                        return new_s

                        s = ''
                        for _ in range(1000):
                        s = increment_str(s)
                        print(s)





                        share|improve this answer






























                          0














                          There's an answer to this question provided on Code Review SE



                          A slight modification to the answer in the link gives the following which works for an arbitrary number of iterations.



                          def increment_char(c):
                          return chr(ord(c) + 1) if c != 'z' else 'a'

                          def increment_str(s):
                          lpart = s.rstrip('z')
                          num_replacements = len(s) - len(lpart)
                          new_s = lpart[:-1] + increment_char(lpart[-1]) if lpart else 'a'
                          new_s += 'a' * num_replacements
                          return new_s

                          s = ''
                          for _ in range(1000):
                          s = increment_str(s)
                          print(s)





                          share|improve this answer




























                            0












                            0








                            0







                            There's an answer to this question provided on Code Review SE



                            A slight modification to the answer in the link gives the following which works for an arbitrary number of iterations.



                            def increment_char(c):
                            return chr(ord(c) + 1) if c != 'z' else 'a'

                            def increment_str(s):
                            lpart = s.rstrip('z')
                            num_replacements = len(s) - len(lpart)
                            new_s = lpart[:-1] + increment_char(lpart[-1]) if lpart else 'a'
                            new_s += 'a' * num_replacements
                            return new_s

                            s = ''
                            for _ in range(1000):
                            s = increment_str(s)
                            print(s)





                            share|improve this answer















                            There's an answer to this question provided on Code Review SE



                            A slight modification to the answer in the link gives the following which works for an arbitrary number of iterations.



                            def increment_char(c):
                            return chr(ord(c) + 1) if c != 'z' else 'a'

                            def increment_str(s):
                            lpart = s.rstrip('z')
                            num_replacements = len(s) - len(lpart)
                            new_s = lpart[:-1] + increment_char(lpart[-1]) if lpart else 'a'
                            new_s += 'a' * num_replacements
                            return new_s

                            s = ''
                            for _ in range(1000):
                            s = increment_str(s)
                            print(s)






                            share|improve this answer














                            share|improve this answer



                            share|improve this answer








                            edited Nov 22 '18 at 8:33

























                            answered Nov 22 '18 at 8:25









                            jodagjodag

                            4,59821329




                            4,59821329






























                                draft saved

                                draft discarded




















































                                Thanks for contributing an answer to Stack Overflow!


                                • Please be sure to answer the question. Provide details and share your research!

                                But avoid



                                • Asking for help, clarification, or responding to other answers.

                                • Making statements based on opinion; back them up with references or personal experience.


                                To learn more, see our tips on writing great answers.




                                draft saved


                                draft discarded














                                StackExchange.ready(
                                function () {
                                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53426258%2fcreate-alphabetically-ascending-list%23new-answer', 'question_page');
                                }
                                );

                                Post as a guest















                                Required, but never shown





















































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown

































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown







                                Popular posts from this blog

                                404 Error Contact Form 7 ajax form submitting

                                How to know if a Active Directory user can login interactively

                                TypeError: fit_transform() missing 1 required positional argument: 'X'