David - 8 months ago 85

Python Question

What is the pythonic way of looping through a range of numbers and skipping over one value? For example, the range is from 0 to 100 and I would like to skip 50.

Edit:

Here's the code that I'm using

`for i in range(0, len(list)):`

x= listRow(list, i)

for j in range (#0 to len(list) not including x#)

...

Answer

You can use any of these:

```
# Create a range that does not contain 50
for i in [x for x in xrange(100) if x != 50]:
print i
# Create 2 ranges [0,49] and [51, 100]
for i in range(50) + range(51, 100):
print i
# Create a iterator and skip 50
xr = iter(xrange(100))
for i in xr:
print i
if i == 49:
next(xr)
# Simply continue in the loop if the number is 50
for i in range(100):
if i == 50:
continue
print i
```

Source (Stackoverflow)