복붙노트

[PYTHON] 파이썬에서 범위 함수의 값 건너 뛰기

PYTHON

파이썬에서 범위 함수의 값 건너 뛰기

숫자의 범위를 반복하면서 하나의 값을 건너 뛰는 비유적인 방법은 무엇입니까? 예를 들어 범위는 0에서 100 사이이며 50을 건너 뛰고 싶습니다.

편집하다: 사용중인 코드는 다음과 같습니다.

for i in range(0, len(list)):
    x= listRow(list, i)
    for j in range (#0 to len(list) not including x#)
        ...

해결법

  1. ==============================

    1.다음 중 하나를 사용할 수 있습니다.

    다음 중 하나를 사용할 수 있습니다.

    # 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] (Python 2)
    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
    
  2. ==============================

    2.

    for i in range(100):
        if i == 50:
            continue
        dosomething
    
  3. ==============================

    3.그것은 당신이하고 싶은 것에 달려 있습니다. 예를 들어, 다음과 같은 일부 조건문을 이해할 수 있습니다.

    그것은 당신이하고 싶은 것에 달려 있습니다. 예를 들어, 다음과 같은 일부 조건문을 이해할 수 있습니다.

    # get the squares of each number from 1 to 9, excluding 2
    myList = [i**2 for i in range(10) if i != 2]
    print(myList)
    
    # --> [0, 1, 9, 16, 25, 36, 49, 64, 81]
    
  4. ==============================

    4.여기 파이썬 2 접근법 이외에 파이썬 3의 등가물이 있습니다 :

    여기 파이썬 2 접근법 이외에 파이썬 3의 등가물이 있습니다 :

    # Create a range that does not contain 50
    for i in [x for x in range(100) if x != 50]:
        print(i)
    
    # Create 2 ranges [0,49] and [51, 100]
    from itertools import chain
    concatenated = chain(range(50), range(51, 100))
    for i in concatenated:
        print(i)
    
    # Create a iterator and skip 50
    xr = iter(range(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)
    

    범위는 Python 2의 목록이고 Python 3의 반복기입니다.

  5. ==============================

    5.당신이 할 수있는 일은, 당신이 50에서 멀어 지길 원하는 루프 내부의 모든 것에 if 문을 넣는 것입니다. 예 :

    당신이 할 수있는 일은, 당신이 50에서 멀어 지길 원하는 루프 내부의 모든 것에 if 문을 넣는 것입니다. 예 :

    for i in range(0, len(list)):
        if i != 50:
            x= listRow(list, i)
            for j in range (#0 to len(list) not including x#)
    
  6. from https://stackoverflow.com/questions/24089924/skip-over-a-value-in-the-range-function-in-python by cc-by-sa and MIT license