,它是Python中非常重要的一种数据类型。学习了基础知识后,词典的概念将伴随您后续的学习和工作。因此,这里有几个非常重要的知识点,大家需要知道。第一,字典是否乱序,很多朋友不一定清楚这个概念。在Python2.7中,字典是无序结构。字典项目的顺序是乱序的。这意味着项目的顺序是确定的和可重复的。>>>#Python2.7>>>a_dict={'color':'blue','fruit':'apple','pet':'dog'}>>>a_dict{'color':'blue','pet':'dog','fruit':'apple'}>>>a_dict{'color':'blue','pet':'dog','fruit':'apple'}在Python3.5中,字典仍然是无序的,但这次是随机数据结构。这意味着您每次重新运行词典时都会得到不同的项目顺序。>>>#Python3.5>>>a_dict={'color':'blue','fruit':'apple','pet':'dog'}>>>a_dict{'color':'blue','pet':'dog','fruit':'apple'}>>>a_dict{'color':'blue','pet':'dog','fruit':'apple'}在Python3.6及更高版本中的字典是有序的数据结构,这意味着它们保持其元素的顺序与它们被引入时的顺序相同。>>>a_dict={'color':'blue','fruit':'apple','pet':'dog'}>>>a_dict{'color':'blue','fruit':'apple','pet':'dog'}>>>a_dict{'color':'blue','fruit':'apple','pet':'dog'}二、键值交换假设你有一个字典,由于某些原因我需要将键转换为值和值转换为键,我应该怎么做?>>>a_dict={'one':1,'two':2,'thee':3,'four':4}>>>new_dict={}>>>forkey,valueina_dict.items():...new_dict[value]=key...>>>new_dict{1:'one',2:'two',3:'thee',4:'four'}三、根据一定条件过滤字典有时,您需要根据某些条件过滤字典。那么配合if条件语句是一个不错的选择。>>>a_dict={'one':1,'two':2,'thee':3,'four':4}>>>new_dict={}#创建一个新的空字典>>>forkey,valueina_dict.items():...ifvalue<=2:...new_dict[key]=value...>>>new_dict{'one':1,'two':2}四、使用字典值,在Python中遍历字典时进行一些计算。需要进行一些计算也很常见。假设你已经将你公司的销售数据存储在字典中,现在你想知道一年的总收入。>>>incomes={'apple':5600.00,'orange':3500.00,'banana':5000.00}>>>total_income=0.00>>>用于收入值。values():...total_income+=value#累加total_income中的值...>>>total_income14100.0五、字典推导字典推导是一??个和列表推导一样功能非常强大的知识点。因此,每个人都必须掌握它。例如,假设您有两个数据列表,您需要从中创建一个新字典。>>>objects=['blue','apple','dog']>>>categories=['color','fruit','pet']>>>a_dict={key:valueforkey,valueinzip(categories,objects)}>>>a_dict{'color':'blue','fruit':'apple','pet':'dog'}六、使用字典推导实现键值转换,你会find使用字典理解,是一种更简单、更高效的操作。>>>a_dict={'one':1,'two':2,'thee':3,'four':4}>>>new_dict={value:keyforkey,valueina_dict.items()}>>>new_dict{1:'one',2:'two',3:'thee',4:'four'}七、使用字典推导过滤字典>>>a_dict={'one':1,'two':2,'thee':3,'four':4}>>>new_dict={k:vfork,vina_dict.items()ifv<=2}>>>new_dict{'one':1,'二':2}八、用字典推导做一些计算>>>incomes={'apple':5600.00,'orange':3500.00,'banana':5000.00}>>>total_income=sum([valueforvalueinincomes.values()])>>>total_income14100.0九、字典排序从Python3.6开始,字典是有序的数据结构,所以如果你使用Python3.6(及更高版本),你将能够排序通过在字典理解的帮助下使用sorted()任何字典的键。>>income={'apple':5600.00,'orange':3500.00,'banana':5000.00}>>>sorted_income={k:incomes[k]forkinsorted(incomes)}>>>sorted_income{'apple':5600.0,'banana':5000.0,'orange':3500.0}十、内置函数,与字典打交道Python提供了一些内置函数,在处理字典等集合时可能会有用。1.map()函数假设你有一个包含一堆产品价格的字典,你需要对它们应用折扣。>>>prices={'apple':0.40,'orange':0.35,'banana':0.25}>>>defdiscount(current_price):...return(current_price[0],round(current_price[1]*0.95,2))...>>>new_prices=dict(map(discount,prices.items()))>>>new_prices{'apple':0.38,'orange':0.33,'banana':0.24}2.filter()函数假设您想知道单价小于0.40的产品。>>>prices={'apple':0.40,'orange':0.35,'banana':0.25}>>>defhas_low_price(price):...returnprices[price]<0.4...>>>low_price=list(filter(has_low_price,prices.keys()))>>>low_price['orange','banana']十一、字典拆包运算符这是一个很多人不理解的概念,Python3.5带来了一个有趣的新特性,所以大家需要专心学习。您可以使用字典解包运算符(**)将两个字典组合成一个新字典。>>>vegetable_prices={'pepper':0.20,'onion':0.55}>>>fruit_prices={'apple':0.40,'orange':0.35,'pepper':.25}>>>{**vegetable_prices,**fruit_prices}{'pepper':0.25,'onion':0.55,'apple':0.4,'orange':0.35}如果您尝试合并的词典有重复或公共键,则最右边的值字典会补充的。
