python 동적 생 성 변수 이름과 동적 가 져 오 는 변수 이름 방법

머리말
필요:
현재 16 개의 list 를 동적 으로 만들어 야 합 니 다.각각 list 의 이름 은 다 르 지만 규칙 적 으로 따라 갈 수 있 습 니 다.예 를 들 어 첫 번 째 list 의 이름 은:
arriage_list_0=[],두 번 째 이름 은 arriagelist_1=[]..........................................................................................정 답 은 있어!이에 대응 하여 위의 목록 을 동적 으로 조작 하려 면 list 이름 을 동적 으로 해석 하 는 것 이 빠 질 수 없 을 것 입 니 다.그래서 방법 을 소개 하 겠 습 니 다.
python 동적 생 성 변수 이름
locals 함수
코드 전에 함 수 를 소개 합 니 다.
locals()함 수 는 현재 위치의 모든 부분 변 수 를 사전 형식 으로 되 돌려 줍 니 다.
풋내기 의 예:

>>>def runoob(arg): #       :arg、z
...  z = 1
...  print (locals())
... 
>>> runoob(4)
{'z': 1, 'arg': 4}  #       /     
다음은 자신의 예 를 들 어 목표:동적 생 성 이름 은 list0 부터 list15 의 16 개의 list 목록:
키 코드:

#       locals  
prepare_list = locals()
""" 
      16 , 0-15   locals       prepare_list 
  prepare_list     ,              key   
"""
for i in range(16):
 arriage_list['list_' + str(i)] = []
테스트 코드:

def test_list_pre():
 prepare_list = locals()
 for i in range(16):
  prepare_list['list_' + str(i)] = []
  prepare_list['list_' + str(i)].append(('   ' + str(i)) + ' list')
 print(prepare_list['list_0'])
 print(prepare_list['list_1'])
 print(prepare_list['list_2'])
 print(prepare_list['list_3'])

if __name__ == '__main__':
 test_list_pre()
실험 캡 처:
python 动态生成变量名以及动态获取变量的变量名
실제 증명,이미 동적 으로 매번 list 에 값 을 삽입 하 였 습 니 다.
python 동적 가 져 오기 변수의 변수 이름
필요 목표:위의 동적 이름 list 가 있 으 면 동적 으로 변수의 변수 이름 을 가 져 오 려 면 다음 과 같은 작업 이 필요 합 니 다.
python 원생 inspect 라 이브 러 리 를 이용 하여 다음 을 실현 합 니 다:
핵심 코드:

import inspect
def get_variable_name(variable):
 callers_local_vars = inspect.currentframe().f_back.f_locals.items()
 return [var_name for var_name, var_val in callers_local_vars if var_val is variable]
테스트 코드:

def get_variable_name(variable):
 callers_local_vars = inspect.currentframe().f_back.f_locals.items()
 return [var_name for var_name, var_val in callers_local_vars if var_val is variable]


if __name__ == '__main__':
 prepare_list = locals()
 for i in range(16):
  prepare_list['list_' + str(i)] = []
  prepare_list['list_' + str(i)].append(('   ' + str(i)) + ' list')
 a = get_variable_name(prepare_list['list_0']).pop()
 b = get_variable_name(prepare_list['list_1']).pop()
 print(a)
 print(b)
실험 캡 처:
python 动态生成变量名以及动态获取变量的变量名
이상 의 python 동적 생 성 변수 이름과 동적 으로 변 수 를 가 져 오 는 변수 이름 방법 은 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시기 바 랍 니 다.여러분 들 이 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기