在本教程中,我们将讨论 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 '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:(方法 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 中创建字典推导的不同方法。我们还展示了一个用户如何使用字典推导将美元值转换为英镑值的例子。