복붙노트

[PYTHON] 파이썬에서 문자열을 정수로 분리하는 방법은?

PYTHON

파이썬에서 문자열을 정수로 분리하는 방법은?

문자열 "42 0"(예를 들어) 및 두 정수의 배열을 가져올 필요가 있습니다. 한 공간에서 .split을 할 수 있습니까?

해결법

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

    1.6 답변은 OP가 통역사에서 테스트하여 쉽게 대답 할 수있는 질문에 대해서는 충분하지 않습니다.

    6 답변은 OP가 통역사에서 테스트하여 쉽게 대답 할 수있는 질문에 대해서는 충분하지 않습니다.

    >>> "42 0".split()  # or .split(" ")
    ['42', '0']
    

    A : 네.

    그러나 분할 메소드가 인자를 제공하지 않으면 기본적으로 분할 메소드가 공백 (공백, 탭, 캐리지 리턴 및 개행)을 분할한다는 점을 특별히 지적하지 않았습니다.

    >>> " \r  42\n\r \t\n   \r0\n\r\n".split()
    ['42', '0']
    

    또한 map을 사용하는 것은 일반적으로 iterable 항목을 int, float, str 등과 같은 내장 함수로 변환하고자 할 때 list comprehension을 사용하는 것보다 더 깔끔하게 보입니다. Python 2 :

    >>> map(int, "42 0".split())
    [42, 0]
    

    파이썬 3에서 map은 게으른 객체를 반환합니다. list ()를 사용하여리스트에 넣거나 for 루프처럼 사용할 수 있습니다 :

    >>> map(int, "42 0".split())
    <map object at 0x7f92e07f8940>
    >>> list(map(int, "42 0".split()))
    [42, 0]
    
  2. ==============================

    2.

    text = "42 0"
    nums = [int(n) for n in text.split()]
    
  3. ==============================

    3.

    l = (int(x) for x in s.split())
    

    항상 두 개의 정수가 있다고 확신하는 경우 다음을 수행 할 수도 있습니다.

    a,b = (int(x) for x in s.split())
    

    또는 배열을 수정하려는 경우

    l = [int(x) for x in s.split()]
    
  4. ==============================

    4.이 작동합니다.

    이 작동합니다.

    [ int(x) for x in "40 1".split(" ") ]
    
  5. ==============================

    5.물론 split을 호출 할 수는 있지만 정수가 아닌 문자열을 반환합니다. 해야 할 것

    물론 split을 호출 할 수는 있지만 정수가 아닌 문자열을 반환합니다. 해야 할 것

    >>> x, y = "42 0".split()
    >>> [int(x), int(y)]
    [42, 0]
    

    또는

    [int(x) for x in "42 0".split()]
    
  6. ==============================

    6.다른 대답은 이미 split ()을 사용하여 값을 목록으로 가져올 수 있음을 보여줍니다. 파이썬의 배열에 대해 묻는다면 여기에 하나의 해결책이 있습니다 :

    다른 대답은 이미 split ()을 사용하여 값을 목록으로 가져올 수 있음을 보여줍니다. 파이썬의 배열에 대해 묻는다면 여기에 하나의 해결책이 있습니다 :

    import array
    s = '42 0'
    a = array.array('i')
    for n in s.split():
        a.append(int(n))
    

    편집 :보다 간결한 솔루션 :

    import array
    s = '42 0'
    a = array.array('i', (int(t) for t in s.split()))
    
  7. ==============================

    7.파이썬 3에 대한 나의 대답은 다음과 같다.

    파이썬 3에 대한 나의 대답은 다음과 같다.

    some_string = "2 3 8 61 "
    
    list(map(int, some_string.strip().split()))
    
  8. ==============================

    8.주어진 : text = "42 0"

    주어진 : text = "42 0"

    import re
    numlist = re.findall('\d+',text)
    
    print(numlist)
    
    ['42', '0']
    
  9. from https://stackoverflow.com/questions/6429638/how-to-split-a-string-into-integers-in-python by cc-by-sa and MIT license