![](/img/trans.png)
[英]HOW TO ITERATE IN THIS QUESTION.ACTUALLY I FOUND THAT FROM A to Z WE WOULD RECIEVE INDEX 1-26 AND FROM AA TO ZZ IT IS AS 26+26^2.BUT HOW TO PROCEED?
[英]How to generate a range of strings from aa… to zz
我正在嘗試創建一個Python程序,在該程序中它接受一個字符串並顯示基於該字符串的排列。
例如。
如果用戶輸入“ [AAA] Grim”,則應生成從“ aaa Grim”,“ aab Grim”,“ aac Grim”到“ zzz Grim”等的單詞。或者,如果用戶輸入“ [AA] Grim”,則應生成“ aa Grim”,“ ab Grim”,“ ac Grim”為“ zz Grim”
抱歉,標題標題不清楚。 我不確定如果沒有示例,該如何措辭。 :)
如果我了解您的意思,則可以執行以下操作:
import re
import string
import itertools
user_in = input("Enter string: ")
p_len = user_in.index(']') - user_in.index('[')
text = user_in[user_in.index(']')+1:]
print('\n'.join([ ''.join(p) + text for p in itertools.combinations_with_replacement(string.ascii_lowercase,r=p_len-1)]))
將產生(提取物):
Enter string: [AA] Grim
aa Grim
ab Grim
ac Grim
ad Grim
ae Grim
input = '[AAA] Grim'
n = len(input.split(' ')[0]) - 2
s = input[n+2:]
a = [''.join(x)+s for x in itertools.product(string.ascii_lowercase, repeat=n)]
>>> import string
>>> ltrs = string.lowercase
>>> [''.join([a,b]) for a in ltrs for b in ltrs]
代碼來自這里: https : //mail.python.org/pipermail/tutor/2005-July/040117.html
我找到了,效果很好!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.