반응형
파이썬에서 사전 항목을 함수 인수로 전달하는 방법은 무엇입니까?
이 질문에 이미 답변이 있습니다.
- 키워드 매개 변수로 함수에 사전 전달 4 답변
내 코드
첫 번째 파일 :
data = {'school':'DAV', 'standard': '7', 'name': 'abc', 'city': 'delhi'}
my_function(*data)
두 번째 파일 :
my_function(*data):
schoolname = school
cityname = city
standard = standard
studentname = name
위의 코드에서 "데이터"사전의 키만에 전달 my_function()
되었지만 키-값 쌍이 전달되기를 원합니다. 이것을 수정하는 방법?
이렇게 my_function()
수정 하고 싶어요
my_function(school='DAV', standard='7', name='abc', city='delhi')
그리고 이것은 내 요구 사항입니다.
편집 : 사전 키 클래스 가 표준 으로 변경됨
그런 식으로 사용하려면 변수 이름으로 함수를 정상적으로 정의하십시오 (그러나 klass
for를 class
사용하면 예약어를 사용할 수 없습니다).
def my_function(school, city, klass, name):
schoolname = school
cityname = city
standard = klass
studentname = name
이제 (사전에서 클래스 이름을 klass로 변경 하는 한) 함수 **
를 호출 할 때 사용할 수 있습니다 .
my_function(**data)
원하는대로 작동합니다.
* data는 인수를 튜플로 해석하지만 대신 인수를 사전으로 해석하는 ** data를 전달해야합니다.
data = {'school':'DAV', 'class': '7', 'name': 'abc', 'city': 'pune'}
def my_function(**data):
schoolname = data['school']
cityname = data['city']
standard = data['class']
studentname = data['name']
다음과 같이 함수를 호출 할 수 있습니다.
my_function(**data)
그냥 통과 할 수 있습니다
def my_function(my_data):
my_data["schoolname"] = "something"
print my_data
또는 당신이 정말로 원한다면
def my_function(**kwargs):
kwargs["schoolname"] = "something"
print kwargs
반응형
'Development Tip' 카테고리의 다른 글
한 시스템에서 다른 시스템으로 Xcode 4 코드 스 니펫을 전송하는 방법 (0) | 2020.11.26 |
---|---|
개체 목록의 속성 합계 / 평균 (0) | 2020.11.26 |
Pandas DataFrame에서 열 중첩을 해제 (폭파)하는 방법은 무엇입니까? (0) | 2020.11.26 |
CSS : 중앙 블록이지만 내용을 왼쪽에 정렬 (0) | 2020.11.26 |
std :: string 설정 여부를 확인하는 방법은 무엇입니까? (0) | 2020.11.26 |