2013-02-20 118 views
-4

我試圖從用戶輸入的字符串而不是使用字符串函數構建一個新的字符串(由每個第3個字母/整數組成,從0開始) :: 3)。使用字符串函數從輸入的字符串構建新的字符串w/o

原始字符串:ABCDEFGHI

新的字符串:ADG

另一個例子

原STR:12345678910

新的字符串:1471

+2

您的嘗試在哪裏? – squiguy 2013-02-20 23:25:53

+0

''abcdefghi'.__ getitem __(slice(None,None,3))' – wim 2013-02-20 23:39:39

+0

「string function」是什麼意思? 'str'?或者你的意思是'str'內建類的'__getitem__'方法,它用於索引和切片(例如''foo「[2]'或」supercalafrajalistic「[:: 3]')。其他字符串方法怎麼樣,比如'join'? – Blckknght 2013-02-20 23:43:08

回答

1
>>> def third(s): 
...  return ''.join(s[i] for i in range(0,len(s),3)) 
... 
>>> print third("12345678910") 
1471 
0

如果你想避免完全,我認爲是這是最好的選擇。它僅通過迭代訪問原始字符串:

def every_third_character(n, string): 
    return "".join(c for (i, c) in enumerate(string) if i % 3 == 0)