這是我到目前為止所擁有的:
def generateCosets(str, n):
equalStr = []
for i in range(0, n):
part = getNthLetters(str, n)
equalStr.append(part)
return equalStr
def getNthLetters(text, n):
builtstring = ''
for i in range(0, len(text)):
if i % n == 0:
builtstring = builtstring text[i]
return builtstring
如果我運行此代碼:
s0 = '12345678'
myArr = generateCosets(s0,2)
print(myArr[0], myArr[1])
它產生:
1357 1357
代替:
1357 2468
我只是不知道每次使用 getNthLetters 方法時如何使 for 回圈從 i 1 開始
uj5u.com熱心網友回復:
你可以在字串上使用切片
s0[0::2]
'1357'
s0[1::2]
'2468'
uj5u.com熱心網友回復:
您可以通過檢查初始字串中索引的奇偶性來解決此問題:
s0 = '12345678'
print(''.join([i if int(i)%2 != 0 else "" for i in s0]), ''.join([i if int(i)%2 == 0 else "" for i in s0]))
uj5u.com熱心網友回復:
您可以在步驟中使用切片表示法(檢查理解切片表示法):
def generate_cosets(text, n):
for i in range(n):
yield text[i::n]
用法:
s0 = '12345678'
print(*generate_cosets(s0, 2))
你可以幫助我的國家,查看我的個人資料資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/442602.html
