在本教程中,我们将讨论Python中的字典推导式,了解如何使用它,并理解一些示例。

在Python中,字典是一种数据类型,用户可以将数据存储在键/值对中。

示例:

dict1 = {"x": 12, "r": 31, "l": 1, "v": 54}  

什么是字典推导式?

字典推导式是将一个字典转换为另一个字典的方法。在将字典转换为另一个字典的过程中,用户还可以根据需要将原始字典的数据包含到新字典中,并根据需要转移每个数据。

与列表推导式一样,Python也允许用户执行字典推导式。用户可以使用内置方法的简单表达式来创建字典。

字典推导式的形式如下:

{key: 'value' (value for (key, value) in iterable form)  

示例1:(方法1)

# let's assume the user have two lists named Key and values  
key = ['p', 'q', 'r', 's', 't']  
value = [56, 67, 43, 12, 6]    
# the following method is used for comprehensiong the dictionary  
user_Dict = { X:Y for (X,Y) in zip(key, value)}     
print ("user_Dict: ", user_Dict)  

输出:

user_Dict: {'p': 56, 'q': 67, 'r': 43, 's': 12, 't': 6}

示例2:(方法2)

# The user can also user the below method  
key_1 = ['j', 'k', 'l', 'm', 'n', 'o']  
value_1 = [34, 54, 13, 76, 98, 74]  
user_Dict_1 = dict (zip (key_1, value_1))  
print ("user_Dict_1: ", user_Dict_1)   

输出:

user_Dict_1: {'j': 34, 'k': 54, 'l': 13, 'm': 76, 'n': 98, 'o': 74}

用户还可以使用推导来从列表创建字典。

示例3:(方法3)

user_Dict2 = {q: q**2 for q in [56, 67, 43, 12, 6]}  
print ("user_Dict2: ", user_Dict2)  

输出:

user_Dict2: {56: 3136, 67: 4489, 43: 1849, 12: 144, 6: 36}

示例4:(方法4)

user_Dict3 = {q.upper(): q*3 for q in 'javatiku is the Best learning Website'}  
print ("user_Dict: ", user_Dict3)  

输出:

user_Dict: {'J': 'JJJ', 'A': 'aaa', 'V': 'vvv', 'T': 'ttt', 'P': 'ppp', 'O': 'ooo', 'I': 'iii', 'N': 'nnn', ' ': '   ', 'S': 'sss', 'H': 'hhh', 'E': 'eee', 'B': 'bbb', 'L': 'lll', 'R': 'rrr', 'G': 'ggg', 'W': 'WWW'}

用户还可以使用if和else语句创建字典推导式。

示例5:(方法5)

user_dict4 = {q: q**3 for q in range (30) if q**3 % 4 == 0}  
print ("user_dict4: ", user_dict4)  

输出:

user_dict4: {0: 0, 2: 8, 4: 64, 6: 216, 8: 512, 10: 1000, 12: 1728, 14: 2744, 16: 4096, 18: 5832, 20: 8000, 22: 10648, 24: 13824, 26: 17576, 28: 21952}

示例6:(方法6)

user_dict5 = dict()  
for numm in range(3, 20):  
    user_dict5 [numm] = numm*numm  
print("user_dict5: ", user_dict5)  

输出:

user_dict5: {3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100, 11: 121, 12: 144, 13: 169, 14: 196, 15: 225, 16: 256, 17: 289, 18: 324, 19: 361}

如何使用字典推导式

让我们来看下面的例子。

例子 -

#food_item price are in dollars  
old_price_1 = {'milk per litter': 2.12, 'coffee per cup': 3.60, 'bread per packet': 1.51}  
print ("old_price_1: ", old_price_1)  
convert_dollar_to_pound = 0.71  
new_price_1 = {food_item: values*convert_dollar_to_pound for (food_item, values) in old_price_1.items()}  
print ("new_price_1: ", new_price_1)  

在上面的示例中,用户使用字典推导式将美元值转换为英镑值。

输出:

old_price_1: {'milk per litter': 2.12, 'coffee per cup': 3.6, 'bread per packet': 1.51}
new_price_1:  {'milk per litter': 1.5052, 'coffee per cup': 2.556, 'bread per packet': 1.0721}

结论

在本教程中,我们通过不同的参数和方法解释了在Python中创建字典推导式的不同方法。我们还展示了用户如何使用字典推导式将美元值转换为英镑值的示例。

标签: Tkinter教程, Tkinter安装, Tkinter库, Tkinter入门, Tkinter学习, Tkinter入门教程, Tkinter, Tkinter进阶, Tkinter指南, Tkinter学习指南, Tkinter进阶教程, Tkinter编程