두 목록을 비교하고 서로 다른 인덱스를 찾은 다음 서로 다르기 시작하는 인덱스에서 값이 더 작은 목록을 반환하는 함수를 만들어야합니다.
여기 내가 가지고있는 것입니다.
def function(foo):
i = 0
while a[i] == b[i] and i<min(len(a), len(b)):
i+=1
if a[i] < b[i]:
return a
else:
return b
당신은 거의 그것을 가지고 있습니다. while 루프 내에서 이미 i를 증가시킨 후에 a와 b의 인덱스를 확인하기 때문에 범위를 벗어난 오류가 발생합니다.
약간의 조정으로 기본적으로 얻을 수 있습니다.
방법은 다음과 같습니다.
l1=[1,2,3,4]
l2=[1,2,4]
def foo(a, b):
i = 0
while i < min(len(a), len(b)):
if a[i] < b[i]:
return a
if a[i] > b[i]:
return b
i+=1
print(foo(l1, l2))
인쇄됩니다
[1,2,3,4]
참고 ... l1 = [1,2,3,4] 및 l2 = [1,2,3] 인 경우를 고려해야합니다. 실제로 무엇을 반환하고 싶습니까? else 문을 고수하면 l2 (또는 b)가 반환됩니다. 내 조정으로 None을 반환합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다