저는 Python을 처음 접했고 Matlab에서 새로 왔으며 여전히 배열과 달리 목록을 사용하도록 조정하고 있습니다. 나는 두 개의 목록을 가지고 있는데, 각 행의 항목이 두 번째 항목과 일치하면 첫 번째 항목부터 세 번째 항목을 만들려고합니다. 기본적으로, 나는 첫 번째 목록의 첫 번째 항목과 두 번째 목록의 항목을 비교하여 새 목록 만들기
list1 = [['name1',height1,length1],['name2',height2,length2]...['name9',height9,length9]
list2 = ['name1','name9']
list3 = []
있고 난이리스트 2의 항목과 일치하는 첫 번째 항목이 목록 1의 행을 포함하는 목록 3을 원하는
for row in list1
if first element (namex) in row is in list2
append row to list 3
같은 것을 원하는했습니다.
list3 = [['name1',height1,lenght1],['name9',height9,length9]]
나는이 일을 두 가지 방법을 시도했지만, 빈 목록 3에 모두 결과 :
list3 = [item for item in list1 if item[0] in list2]
및
for rows in list1:
if list1[0] in list2:
list3.append(rows)
는 목록이 같은에서 인덱싱 할 수 없음을 알고 배열로서, 비슷한 기능을 어떻게 얻을 수 있습니까?
이 원하는 출력 무엇입니까 다음과 같이 두 번째 방법이 작동하려면
, 그것은 검열 할 필요가? –게시 한 코드의 문제점은 무엇입니까? 목록 이해력으로 예상되는 결과물을 만들어냅니다. 그렇죠? –
@Rawing list 3은 코드 – ah21363