簡體   English   中英

試圖弄清楚Python代碼

[英]trying to make sense of a Python code

我對網上找到的Python代碼的邏輯有疑問,該代碼可以很好地從成對格式化的列表中定義字典(即: "one 1/n two 2/n three 3/n" ),該代碼是:

dict_number= {term:int(score) for (term,score) in list_number}

List_number是保存值的列表,我不確定我是否了解Python如何理解應將Everyodd字符串分配為term,將eveneven分配為值(在這種情況下,該字符串的int)... term和score在這行代碼之前尚未定義,並且python設法以某種方式理解了這一點...知道這是如何工作的嗎?

這稱為字典理解 ,並在Python 2.7中引入。 這是使用表達式創建字典的簡便方法。

編寫該行的較長方法是:

dict_number = {}  # an empty dictionary

for term,score in list_number:
    dict_number[term] = int(score)

在Python中,沒有其他語言可能會使用的變量。 在大多數其他語言中,變量是可以保存特定類型值的“框”。 要在盒子中放置東西,首先必須通過描述類型來創建盒子:

int x;
x = 1;

Python具有指向值的名稱的概念。 python中的“變量”只是一個名稱,可以指向任何類型的任何值。 僅值具有類型,名稱不具有類型。 由於具有這種靈活性,因此不必預先“初始化”名稱。 您僅在需要時使用它們。 Python將負責其余的工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM