Python : 조건이 충족되면 한 목록의 요소를 다른 목록의 요소로 교체

도마

이 형식의 각 요소와 함께 src라는 두 개의 목록이 있습니다.

['SOURCE:  filename.dc : 1 : a/path/: description','...]

그리고 다음 형식의 각 요소가있는 base라는 하나 :

['BASE: 1: another/path','...]

기본 요소의 번호 (이 경우 4)를 소스 요소의 번호 (이 경우 1)와 비교하려고합니다.

일치하면 소스 요소의 번호를 기본 요소의 경로로 바꾸고 싶습니다.

지금은 다음과 같이 for 루프를 사용하여 소스 요소의 번호를 분할 할 수 있습니다.

    for w in source_list:
      src_no=(map(lambda s: s.strip(), w.split(':'))[2])

다음과 같이 for 루프를 사용하여 기본 요소의 경로와 번호를 나눌 수 있습니다.

        for r in basepaths:
          base_no=(map(lambda s: s.strip(), r.split(':'))[1])
          base_path=(map(lambda s: s.strip(), r.split(':'))[2])

새 목록이 다음과 같을 것으로 예상합니다 (위의 두 요소 예제를 기반으로 함).

['SOURCE:  filename.dc : another/path : a/path/: description','...]

src 목록은 많은 요소가있는 큰 목록이며 기본 목록은 일반적으로 3-4 개의 요소 길이이며 새 목록으로 변환하는 데만 사용됩니다.

Steinar Lima

나는 당신을 위해 무언가를 해킹했는데, 당신이 원하는 것을해야한다고 생각합니다.

base_list = ['BASE: 1: another/path']
base_dict = dict()

# First map the base numbers to the paths
for entry in base_list:
    n, p = map(lambda s: s.strip(), entry.split(':')[1:])
    base_dict[n] = p

source_list = ['SOURCE:  filename.dc : 1 : a/path/: description']

# Loop over all source entries and replace the number with the base path of the numbers match   
for i, entry in enumerate(source_list):
    n = entry.split(':')[2].strip()
    if n in base_dict:
        new_entry = entry.split(':')
        new_entry[2] = base_dict[n]
        source_list[i] = ':'.join(new_entry)

이것이 해키 솔루션이라는 것을 알고, 번호와 경로를 추출하고 번호를 바꿀 때 regexp ( re 모듈 조사)를 사용해야한다고 생각합니다 .

이 코드는 또한 목록을 반복하는 동안 목록을 변경하는데, 이는 가장 비단뱀적인 일이 아닐 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

조건이 충족되면 목록의 다음 요소와 연결

분류에서Dev

조건이 충족되면 목록 시리즈의 -n 요소를 다른 목록 시리즈에 추가합니다.

분류에서Dev

목록의 특정 요소를 다른 목록의 요소 인 python으로 임의로 대체

분류에서Dev

한 목록의 요소 차이를 다른 목록의 요소로 나누는 방법은 무엇입니까?

분류에서Dev

다른 목록에서 조회를 수행하여 튜플 목록의 요소를 효율적으로 교체하는 방법 (python)

분류에서Dev

한 조건 자에 따라 두 목록의 요소를 비교하고 다른 조건 자에 따라 선택하려면 어떻게해야합니까?

분류에서Dev

다른 요소의 요소를 기반으로 한 목록의 요소 반복

분류에서Dev

Python-길이가 불규칙한 다른 목록의 요소를 새 목록에 일치

분류에서Dev

Python : 각 목록 요소를 다른 목록의 특정 요소와 곱하는 목록 이해 방법

분류에서Dev

목록의 요소를 동일한 목록의 다른 모든 요소와 비교

분류에서Dev

Python : 다른 목록의 요소를 기반으로 목록 요소 삭제

분류에서Dev

Python을 사용하여 조건이 충족되는 경우 목록 요소의 평균 값 찾기?

분류에서Dev

동일한 목록의 요소를 비교하고 다른 목록에 추가하려면 어떻게해야합니까? (파이썬)

분류에서Dev

목록 이해력 내의 목록 요소에 대한 조건

분류에서Dev

목록에서 무한한 수의 연속 요소가 조건을 충족하는지 Python 확인

분류에서Dev

조건 자 논리를 사용하여 목록의 개체가 C #의 다른 목록에 포함 된 요소를 기반으로 제네릭 목록에서 요소를 제거하려면 어떻게해야합니까?

분류에서Dev

목록의 첫 번째 요소를 다른 목록과 비교

분류에서Dev

tensorshape의 요소를 목록으로 삽입하면 전체 목록이 없음

분류에서Dev

목록의 각 요소를 다른 목록의 각 요소와 비교

분류에서Dev

각 목록의 요소를 목록의 다른 요소와 비교

분류에서Dev

Python 다른 목록에도있는 목록의 요소를 교체하고 다른 목록을 삭제합니다.

분류에서Dev

목록의 요소를 해당 요소를 포함하는 중첩 목록으로 교체 (python3)

분류에서Dev

둘 이상의 조건이 충족되면 요소 추가 jquery

분류에서Dev

현재 항목 목록이 주어지면 Python 사전 내부의 요소 교체

분류에서Dev

목록의 모든 요소를 Python의 다른 목록의 모든 요소에 별도로 추가

분류에서Dev

한 목록의 값을 다른 목록으로 교체

분류에서Dev

파이썬에서 다른 목록의 요소 비교

분류에서Dev

Python Pandas는 다른 열의 요소 목록에서 한 열의 요소를 찾습니다.

분류에서Dev

목록에서 선택한 요소를 다른 목록의 해당 요소로 대체하는 매우 기본적인 초보 프로그래머 스타일

Related 관련 기사

  1. 1

    조건이 충족되면 목록의 다음 요소와 연결

  2. 2

    조건이 충족되면 목록 시리즈의 -n 요소를 다른 목록 시리즈에 추가합니다.

  3. 3

    목록의 특정 요소를 다른 목록의 요소 인 python으로 임의로 대체

  4. 4

    한 목록의 요소 차이를 다른 목록의 요소로 나누는 방법은 무엇입니까?

  5. 5

    다른 목록에서 조회를 수행하여 튜플 목록의 요소를 효율적으로 교체하는 방법 (python)

  6. 6

    한 조건 자에 따라 두 목록의 요소를 비교하고 다른 조건 자에 따라 선택하려면 어떻게해야합니까?

  7. 7

    다른 요소의 요소를 기반으로 한 목록의 요소 반복

  8. 8

    Python-길이가 불규칙한 다른 목록의 요소를 새 목록에 일치

  9. 9

    Python : 각 목록 요소를 다른 목록의 특정 요소와 곱하는 목록 이해 방법

  10. 10

    목록의 요소를 동일한 목록의 다른 모든 요소와 비교

  11. 11

    Python : 다른 목록의 요소를 기반으로 목록 요소 삭제

  12. 12

    Python을 사용하여 조건이 충족되는 경우 목록 요소의 평균 값 찾기?

  13. 13

    동일한 목록의 요소를 비교하고 다른 목록에 추가하려면 어떻게해야합니까? (파이썬)

  14. 14

    목록 이해력 내의 목록 요소에 대한 조건

  15. 15

    목록에서 무한한 수의 연속 요소가 조건을 충족하는지 Python 확인

  16. 16

    조건 자 논리를 사용하여 목록의 개체가 C #의 다른 목록에 포함 된 요소를 기반으로 제네릭 목록에서 요소를 제거하려면 어떻게해야합니까?

  17. 17

    목록의 첫 번째 요소를 다른 목록과 비교

  18. 18

    tensorshape의 요소를 목록으로 삽입하면 전체 목록이 없음

  19. 19

    목록의 각 요소를 다른 목록의 각 요소와 비교

  20. 20

    각 목록의 요소를 목록의 다른 요소와 비교

  21. 21

    Python 다른 목록에도있는 목록의 요소를 교체하고 다른 목록을 삭제합니다.

  22. 22

    목록의 요소를 해당 요소를 포함하는 중첩 목록으로 교체 (python3)

  23. 23

    둘 이상의 조건이 충족되면 요소 추가 jquery

  24. 24

    현재 항목 목록이 주어지면 Python 사전 내부의 요소 교체

  25. 25

    목록의 모든 요소를 Python의 다른 목록의 모든 요소에 별도로 추가

  26. 26

    한 목록의 값을 다른 목록으로 교체

  27. 27

    파이썬에서 다른 목록의 요소 비교

  28. 28

    Python Pandas는 다른 열의 요소 목록에서 한 열의 요소를 찾습니다.

  29. 29

    목록에서 선택한 요소를 다른 목록의 해당 요소로 대체하는 매우 기본적인 초보 프로그래머 스타일

뜨겁다태그

보관