복붙노트

[PYTHON] 튜플에 값을 추가하는 방법?

PYTHON

튜플에 값을 추가하는 방법?

저는 ( '1', '2', '3', '4'와 같은) 튜플 목록을 가지고있는 스크립트를 만들고 있습니다. 예 :

list = [('1','2','3','4'),
        ('2','3','4','5'),
        ('3','4','5','6'),
        ('4','5','6','7')]

이제 각 튜플의 끝에 각각 '1234', '2345', '3456'및 '4567'을 추가해야합니다. 예 :

list = [('1','2','3','4','1234'),
        ('2','3','4','5','2345'),
        ('3','4','5','6','3456'),
        ('4','5','6','7','4567')]

어떤 방법으로도 가능합니까?

해결법

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

    1.튜플은 변경할 수 없으며 변경되지 않아야합니다. 즉, 목록 유형이있는 것입니다. 각각의 튜플을 originalTuple + (newElement,)로 대체하여 새로운 튜플을 생성 할 수 있습니다. 예 :

    튜플은 변경할 수 없으며 변경되지 않아야합니다. 즉, 목록 유형이있는 것입니다. 각각의 튜플을 originalTuple + (newElement,)로 대체하여 새로운 튜플을 생성 할 수 있습니다. 예 :

    t = (1,2,3)
    t = t + (1,)
    print t
    (1,2,3,1)
    

    하지만 항목을 삽입하는 것이 더 빠르기 때문에 처음부터 목록을 사용하는 것이 좋습니다.

    또 다른 힌트 : 프로그램에서 기본 제공 이름 목록을 덮어 쓰지 말고, 변수 l 또는 다른 이름을 호출하십시오. 내장 된 이름을 덮어 쓰면 현재 범위에서 더 이상 사용할 수 없습니다.

  2. ==============================

    2.구문을 기반으로, 나는 이것이 Python이라고 추측합니다. 튜플의 포인트는 불변이므로 각 요소를 새로운 튜플로 대체해야한다는 것입니다.

    구문을 기반으로, 나는 이것이 Python이라고 추측합니다. 튜플의 포인트는 불변이므로 각 요소를 새로운 튜플로 대체해야한다는 것입니다.

    list = [l + (''.join(l),) for l in list]
    # output:
    [('1', '2', '3', '4', '1234'), 
     ('2', '3', '4', '5', '2345'), 
     ('3', '4', '5', '6', '3456'), 
     ('4', '5', '6', '7', '4567')]
    
  3. ==============================

    3.파이썬에서는 할 수 없습니다. 튜플은 변경 불가능합니다.

    파이썬에서는 할 수 없습니다. 튜플은 변경 불가능합니다.

    포함 목록에서 튜플 ( '1', '2', '3', '4')을 다른 ( '1', '2', '3', '4', '1234') 터플.

  4. ==============================

    4.다른 사람들이 대답했듯이, 파이썬의 튜플은 불변이고, 하나를 '수정'하는 유일한 방법은 추가 된 요소가 포함 된 새로운 것을 만드는 것입니다.

    다른 사람들이 대답했듯이, 파이썬의 튜플은 불변이고, 하나를 '수정'하는 유일한 방법은 추가 된 요소가 포함 된 새로운 것을 만드는 것입니다.

    그러나 가장 좋은 해결책은 목록입니다. 튜플을 필요로하는 함수 나 메소드가 필요하면, tuple (list)를 사용하여 튜플을 생성하십시오.

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

    5.다른 답변에서 언급했듯이 튜플은 일단 생성되면 변경되지 않으며 목록이 더 나은 용도로 사용될 수 있습니다.

    다른 답변에서 언급했듯이 튜플은 일단 생성되면 변경되지 않으며 목록이 더 나은 용도로 사용될 수 있습니다.

    즉, 여분의 항목으로 새 튜플을 만드는 또 다른 옵션은 splat 연산자를 사용하는 것입니다.

    new_tuple = (* old_tuple, 'new', 'items')

    새로운 튜플처럼 보이기 때문에이 구문이 마음에 드는데, 그래서 당신이하려는 것을 명확하게 전달합니다.

    splat을 사용하면 가능한 해결책은 다음과 같습니다.

    list = [(* i, ''.join (i)) for i]

  6. ==============================

    6.튜플과 목록과 관련된 몇 가지 세부 사항을 살펴 보았습니다.

    튜플과 목록과 관련된 몇 가지 세부 사항을 살펴 보았습니다.

    따라서 새 항목을 튜플에 추가하려면 목록에 캐스팅하고 append () 작업을 수행 한 다음 다시 튜플로 캐스팅해야합니다.

  7. ==============================

    7.

        list_of_tuples = [('1', '2', '3', '4'),
                          ('2', '3', '4', '5'),
                          ('3', '4', '5', '6'),
                          ('4', '5', '6', '7')]
    
    
        def mod_tuples(list_of_tuples):
            for i in range(0, len(list_of_tuples)):
                addition = ''
                for x in list_of_tuples[i]:
                    addition = addition + x
                list_of_tuples[i] = list_of_tuples[i] + (addition,)
            return list_of_tuples
    
        # check: 
        print mod_tuples(list_of_tuples)
    
  8. from https://stackoverflow.com/questions/4913397/how-to-add-value-to-a-tuple by cc-by-sa and MIT license