2017-02-17 45 views
-1

我有一個重複小數的字符串。字符串值可能有或沒有小數點左邊的值:「.33333333」或「1.6666666666」或「12125.464646464646」。從特定字符開始迭代字符串

我想遍歷小數點後面直接開始的字符串。有沒有辦法直接啓動一個for循環到小數的右邊?

理想情況下,您不會預先剪切或拆分字符串。這個問題更適合於在給定特定字符的特定點處開始for循環,而不是循環遍歷已切割的完整字符串。

0.333333將開始在3

1.66666將開始在6

12125.464646將開始在4

+3

沒錯。試試:'s for s [s.index('。')+ 1:]:' – MYGz

+0

[在python中用分隔符分割字符串]可能的重複(http://stackoverflow.com/questions/3475251/split -a-string-by-a-delimiter-in-python) – Anomitra

+0

@AnomitraSaha我不想分割MYGz得到了我要找的東西 – Mazzone

回答

0

有很多方法可以做到這一點。一種可能的方式是使用find()

inp = "12125.464646464646" 
for x in xrange(inp.find('.')+1, len(inp)): 
    print inp[x], 

你也可以試試,

inp = "12125.464646464646" 
for a in inp[inp.find('.')+1:]: 
+0

也許將OP指向Python文檔的方向?教一個人釣魚和所有這些... – SwiftsNamesake

+0

教一個人的方法名稱,他們可以谷歌自己。 – Fallen

+0

我不是特別指這種方法的文檔。只是整個Python文檔(比如更有禮貌的說RTFM)。 – SwiftsNamesake

0

嘗試用split

a="12125.464646464646" 
for i in a.split('.')[-1]: 
    print i 
0

嗨試試這個簡單的代碼

a="12125.464646464646" 
print [i for i in a.split('.')[1]] 
#output:- ['4', '6', '4', '6', '4', '6', '4', '6', '4', '6', '4', '6']