Python中的字典推导

Python中的字典推导

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

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

示例:

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

什么是字典推导

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

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

字典推导的形式如下:

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

示例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:

# 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:

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:

user_Dict3 = {q.upper(): q*3 for q in 'JavaTpoint 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:

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:

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中创建字典推导的不同方法。我们还展示了用户如何使用字典推导将美元值转换为英镑值的示例。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程