2017-02-17 2 views
-1

У меня есть строка, повторяющаяся десятичная. Строковое значение может иметь или не иметь значений слева от десятичного числа: «.33333333» или «1.6666666666» или «12125.464646464646».Итерация над строкой, начинающейся с определенного символа

Я хочу, чтобы итерация через строку начиналась сразу после десятичной. Есть ли способ запустить цикл for прямо справа от десятичного числа?

В идеале вы не должны прерывать или разделять строку заранее. Этот вопрос больше ориентирован на запуск цикла for в конкретной точке, заданный конкретным символом, или цикл через полную строку, которая была разрезана.

.333333 начнется в 3

1.66666 начнется в 6

12125.464646 начнется в 4

+3

Yep , Попробуйте: 'for a in 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']