【发布时间】:2017-10-10 15:13:57
【问题描述】:
如何遍历字母表并让它继续超过字母 Z?例如 - a,b,c ... y,x,aa,ab,ac,ad
目前这是我的数组
letters = [
"a","b","c","d","e","f","g","h","i","k",
"l","m","n","o","p","q","r","s","t","u",
"v","w","x","y","z", "aa", "ab", "ac", "ad", "ae",
"af", "ag", "ah", "ai", "aj", "ak", "al", "am", "an",
"ao", "ap", "aq", "ar", "as", "at", "au", "av","aw", "ax", "ay",
"az", "ba", "bb", "bc", "bd", "be", "bf", "bg", "bh", "bi",
"bj", "bk", "bl", "bm", "bn", "bo", "bp", "bq", "br", "bs", "bt",
"bu", "bv","bw", "bx", "by", "bz","ca","cb","cc","cd","ce",
"cf","cg","ch","ci","cj","ck","cl","cm","cn","co","cp",
"cq","cr","cs","ct","cu","cv","cw"]
但我想让它在循环中创建。
【问题讨论】:
-
你已经尝试了什么?
-
这是通用算法,在 C# 中:stackoverflow.com/a/182924/2436175。关键是每一步除以 26 将余数转换为一个字母,直到除法返回 0。使用
%(模)得到余数,//(下除法)更新下一步的值。 -
@Antonio 我想你会同意 Uriel 的第二个基于 itertools 的解决方案比搞乱模运算要干净得多。
-
您真的希望它们出现在列表中吗?我想你会发现拥有一个为你生成这些字符串的生成器会更方便。
-
@PM2Ring 我同意。由于同时我已经准备好解决方案,我将其发布为here。它不应该伤害:)
标签: python python-2.7 python-3.x