>  기사  >  백엔드 개발  >  Python 함수에서 목록을 전달하는 방법은 무엇입니까?

Python 함수에서 목록을 전달하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-05-09 19:04:371514검색

목록을 함수에 전달한 후 함수는 목록의 내용에 직접 액세스할 수 있습니다.

전문가 그룹이 있고 그들을 워크숍에 초대하고 싶다고 가정해 보겠습니다.

def send_invitation(experts):
    '''发送邀请函'''
    for expert in experts:
        print(expert + ',您好,现邀请您参加 XX 研讨会...')

experts = ['小明', '小红']
send_invitation(experts)

실행 결과:

안녕하세요 Xiao Ming님, 이제 XX 세미나에 참여하도록 초대되었습니다…

안녕하세요 Huang Lili, 이제 XX 세미나에 참여하도록 초대되었습니다…

1 목록 수정

목록 매개변수 전송 함수에 제공되면 함수는 이를 수정할 수 있습니다.

참고: 함수 목록에 대한 모든 수정 사항은 영구적입니다.

def send_invitation(experts, informed):
    '''发送邀请函,并移动列表数据到【已通知】列表'''
    while experts:
        expert = experts.pop()
        print(expert + ',您好,现邀请您参加 XX 研讨会...')
        informed.append(expert)

experts = ['小明', '小红']  # 专家列表
informed = []  # 已通知人员列表
print('执行前:experts=' + str(experts) + ',informed=' + str(informed))
send_invitation(experts, informed)
print('执行后:experts=' + str(experts) + ',informed=' + str(informed))

실행 결과:

실행 전: 전문가=['Xiao Ming', 'Xiao Hong'], inform=[]

안녕하세요 Xiaohong, 이제 XX 세미나에 초대되었습니다...

Xiao Ming 님, 안녕하세요. 이제 XX 세미나에 초대됩니다...

실행 후: expert=[],informed=['Xiaohong', 'Xiaoming']

코멘트가 없더라도 설명 함수 이름은 It입니다. 함수가 하는 일을 명확하게 표현할 수도 있습니다.
함수 내에서 또 다른 함수를 호출할 수도 있는데, 이는 복잡한 작업을 일련의 단계로 나누고 프로그램을 더 읽기 쉽게 만드는 데 도움이 됩니다.

2 읽기 전용 목록

때때로 함수가 전달된 목록을 수정하는 것을 원하지 않습니다.

이 경우 목록의 복사본을 함수에 전달할 수 있습니다:

experts = ['小明', '小红']  # 专家列表
informed = []  # 已通知人员列表
print('执行前:experts=' + str(experts) + ',informed=' + str(informed))
send_invitation(experts[:], informed)
print('执行后:experts=' + str(experts) + ',informed=' + str(informed))

실행 결과:

실행 전: 전문가=[ 'Xiaoming', 'Xiaohong'],informed=[]

안녕하세요 Xiaohong님, 이제 XX 세미나에 초대되었습니다...

안녕하세요 Xiaoming, 이제 XX 참석에 초대되었습니다 세미나...

실행 후: 전문가=['Xiaoming', 'Xiaohong'], inform=['Xiaohong', 'Xiaoming']

목록 복사본을 함수에 전달하더라도 다음 내용은 그대로 유지될 수 있습니다. 원래 목록,

그러나 이에 대한 타당한 이유가 없는 한.

함수에서 전달된 목록을 사용하면

메모리에 복사본을 생성하는 데 시간을 낭비하지 않고 성능을 향상시킬 수 있기 때문에 이는 대용량 데이터 목록을 처리할 때 특히 주의해야 할 사항입니다.

위 내용은 Python 함수에서 목록을 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제