본문 바로가기
Python

파이썬 중급 #079 리스트 - 리스트 함축-거듭제곱 표현하기 [x**2 for x list]

by Smart Factory in 2020 2022. 5. 25.
728x90
반응형

안녕하세요 스마트팩토리입니다.
파이썬 중급 #078 리스트 - 리스트 함축-거듭제곱 표현하기 [x**2 for x list]에 대해 알아보겠습니다. 

 

1.리스트 함축

리스트 함축
-list comprehension 함축, 포함, 내포라는 의미로 
집합을 의미합니다. 이는 코드를 조금 더 단순하게 작성할 수 있습니다. 

<<numsfunction.py>> 함수 파일

def nums(list):
    for i in range(1,11):
     list.append(i)

1부터 10까지 요소값 추가하는 코드 



def squares(list):
    list1=[x**2 for x in list]
    return list1

리스트 요소값을 거듭제곱하여 반환하는 코드


def Triplesquares(list):
    list1=[x**3 for x in list]
    return list1

리스트 요소값을 세제곱하여 반환하는 코드

def nums(list):
    for i in range(1,11):
     list.append(i)


def squares(list):
    list1=[x**2 for x in list]
    return list1

def Triplesquares(list):
    list1=[x**3 for x in list]
    return list1

 

<<<메인 >>

 

 

from numsfunction import*

함수 파일 호출


nums1=list()
nums(nums1)
print("nums1:",nums1)

1부터 10까지 요소를 가지는 리스트를 생성합니다. 

함수를 호출하여 요소값을 넣었습니다. 


squarenums=list()
for i in nums1 :
    squarenums.append(i**2)

print("squarenums",squarenums)

 

1부터 10까지 요소값을 거듭제복으로 표현하였습니다. 반복문을 활용하여 나타내는 방법이 일반적입니다. 

이를 리스트 함축으로 구현한 것이 다음 코드입니다. 

squarenums1=list()
nums(squarenums1)
print("squarenums1:",squares(squarenums1))

[x**2 for x in list]는 리스트 요소를 두번씩 곱해서 리스트를 생성하라는 의미를 가지고 있습니다. 

함수식이어서 이를 호출한 결과는 

위 처럼 1부터 10까지 거듭제곱이 출력된 것을 볼 수 있습니다. 

append 함수를 사용하지 않고 조금더 간단해진다는 것을 알 수 있습니다. 

 


print("squarenums1:",Triplesquares(squarenums1))

요소값을 세제곱하여 출력한 코드입니다.

 

from numsfunction import*

nums1=list()
nums(nums1)
print("nums1:",nums1)
squarenums=list()
for i in nums1 :
    squarenums.append(i**2)

print("squarenums",squarenums)

squarenums1=list()
nums(squarenums1)
print("squarenums1:",squares(squarenums1))
print("squarenums1:",Triplesquares(squarenums1))

 

728x90
반응형

댓글