最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 動態(tài)生成變量名以及動態(tài)獲取變量的變量名方法

 更新時間:2019年01月20日 14:42:55   作者:sy_y  
今天小編就為大家分享一篇python 動態(tài)生成變量名以及動態(tài)獲取變量的變量名方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

前言

需求:

必須現(xiàn)在需要動態(tài)創(chuàng)建16個list,每個list的名字不一樣,但是是有規(guī)律可循,比如第一個list的名字叫:

arriage_list_0=[],第二個叫arriage_list_1=[]……..依次類推,但是我又不想手動的去寫16個這樣的名字,太累了,而且增加了代碼的冗余性,靈活性也不強(qiáng),所以有沒有一種方法是能動態(tài)創(chuàng)建list名稱的呢?答案是有的!而與之對應(yīng),既然要對上面的列表動態(tài)操作,肯定是少不了動態(tài)去解析list名稱。所以下面開始介紹方法。

python 動態(tài)生成變量名

locals函數(shù)

代碼之前,先介紹一個函數(shù):

locals() 函數(shù)會以字典類型返回當(dāng)前位置的全部局部變量。

菜鳥上的例子:

>>>def runoob(arg): # 兩個局部變量:arg、z
...  z = 1
...  print (locals())
... 
>>> runoob(4)
{'z': 1, 'arg': 4}  # 返回一個名字/值對的字典

下面用自己的例子來實現(xiàn)下,目標(biāo):動態(tài)創(chuàng)建名字為list_0到list_15的16個list列表:

關(guān)鍵代碼:

# 第一步 準(zhǔn)備locals函數(shù)
prepare_list = locals()
""" 
第二步 循環(huán)16次,從0-15賦值給locals函數(shù)對應(yīng)的變量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 動態(tài)生成變量名以及動態(tài)獲取變量的變量名

實際證明,已經(jīng)動態(tài)的每次往list插入了值。

python 動態(tài)獲取變量的變量名

需求目標(biāo):如果有了上面的動態(tài)命名list,那么當(dāng)動態(tài)獲取變量的變量名,就需要如下的操作:

利用python原生的inspect庫來實現(xiàn):

核心代碼:

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 動態(tài)生成變量名以及動態(tài)獲取變量的變量名

以上這篇python 動態(tài)生成變量名以及動態(tài)獲取變量的變量名方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python并發(fā)編程實例教程之線程的玩法

    Python并發(fā)編程實例教程之線程的玩法

    編程的樂趣之一是想辦法讓程序執(zhí)行的越來越快,代碼越寫越優(yōu)雅,這篇文章主要給大家介紹了關(guān)于Python并發(fā)編程實例教程之線程的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • Python中最快的循環(huán)姿勢實例詳解

    Python中最快的循環(huán)姿勢實例詳解

    python給我們提供了多個循環(huán)方法,比如while循環(huán)、for循環(huán)等,下面這篇文章主要給大家介紹了關(guān)于Python中最快的循環(huán)姿勢,需要的朋友可以參考下
    2021-11-11
  • python實現(xiàn)的希爾排序算法實例

    python實現(xiàn)的希爾排序算法實例

    這篇文章主要介紹了python實現(xiàn)的希爾排序算法,實例分析了基于Python實現(xiàn)希爾排序的相關(guān)技巧,需要的朋友可以參考下
    2015-07-07
  • 使用Python實現(xiàn)網(wǎng)絡(luò)設(shè)備配置備份與恢復(fù)

    使用Python實現(xiàn)網(wǎng)絡(luò)設(shè)備配置備份與恢復(fù)

    網(wǎng)絡(luò)設(shè)備配置備份與恢復(fù)在網(wǎng)絡(luò)安全管理中起著至關(guān)重要的作用,本文為大家介紹了如何通過Python實現(xiàn)網(wǎng)絡(luò)設(shè)備配置備份與恢復(fù),需要的可以參考下
    2025-03-03
  • 深入解析Python中的變量和賦值運(yùn)算符

    深入解析Python中的變量和賦值運(yùn)算符

    這篇文章主要介紹了深入解析Python中的變量和賦值運(yùn)算符,是Python入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-10-10
  • 詳解如何在PyQt5中實現(xiàn)平滑滾動的QScrollArea

    詳解如何在PyQt5中實現(xiàn)平滑滾動的QScrollArea

    Qt 自帶的 QScrollArea 滾動時只能在兩個像素節(jié)點(diǎn)之間跳變,看起來很突兀。所以本文將通過定時器,重寫 wheelEvent() 來實現(xiàn)平滑滾動,需要的可以參考一下
    2023-01-01
  • Python devel安裝失敗問題解決方案

    Python devel安裝失敗問題解決方案

    這篇文章主要介紹了Python devel安裝失敗問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • Python使用切片移動元素位置的代碼實踐

    Python使用切片移動元素位置的代碼實踐

    在 Python 中,切片是指從序列類型(如列表、字符串、元組等)中提取子序列的過程,切片可以用來快速獲取列表的一部分也可以用于反轉(zhuǎn)列表,本文小編給大家介紹了Python使用切片移動元素位置的代碼實踐,需要的朋友可以參考下
    2024-09-09
  • 一文詳解Python中哈希表的使用

    一文詳解Python中哈希表的使用

    哈希表或稱為散列表,是一種常見的、使用頻率非常高的數(shù)據(jù)存儲方案。本文將站在開發(fā)者的角度,帶著大家一起探究哈希的世界,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-05-05
  • Python實現(xiàn)井字棋小游戲

    Python實現(xiàn)井字棋小游戲

    這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)井字棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03

最新評論

凤翔县| 宾川县| 周至县| 临猗县| 富锦市| 木兰县| 二手房| 无极县| 甘泉县| 潼关县| 洛扎县| 隆德县| 东港市| 洛南县| 禄丰县| 宾川县| 龙川县| 抚远县| 普兰县| 珠海市| 赤峰市| 遂溪县| 东至县| 门源| 衡山县| 罗源县| 黄大仙区| 凌源市| 洪雅县| 手游| 岳普湖县| 延川县| 醴陵市| 揭阳市| 确山县| 石河子市| 介休市| 温州市| 乐昌市| 乳山市| 宣威市|