字典
这个概念,将会伴随着你后面的学习和工作。字典是否是无序的
>>> # Python 2.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'}
>>> # Python 3.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'}
>>> 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 = {}>>> for key, value in a_dict.items():... new_dict[value] = key...>>> new_dict{1: 'one', 2: 'two', 3: 'thee', 4: 'four'}
依据某种条件,过滤字典
>>> a_dict = {'one': 1, 'two': 2, 'thee': 3, 'four': 4}>>> new_dict = {} # Create a new empty dictionary>>> for key, value in a_dict.items():... if value <= 2:... new_dict[key] = value...>>> new_dict{'one': 1, 'two': 2}
利用字典中的值,做一些计算
>>> incomes = {'apple': 5600.00, 'orange': 3500.00, 'banana': 5000.00}>>> total_income = 0.00>>> for value in incomes.values():... total_income += value # Accumulate the values in total_income...>>> total_income14100.0
字典推导式
>>> objects = ['blue', 'apple', 'dog']>>> categories = ['color', 'fruit', 'pet']>>> a_dict = {key: value for key, value in zip(categories, objects)}>>> a_dict{'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
利用字典推导式,实现键值转换
>>> a_dict = {'one': 1, 'two': 2, 'thee': 3, 'four': 4}>>> new_dict = {value: key for key, value in a_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: v for k, v in a_dict.items() if v <= 2}>>> new_dict{'one': 1, 'two': 2}
利用字典推导式,做一些计算
>>> incomes = {'apple': 5600.00, 'orange': 3500.00, 'banana': 5000.00}>>> total_income = sum([value for value in incomes.values()])>>> total_income14100.0
字典排序
>> incomes = {'apple': 5600.00, 'orange': 3500.00, 'banana': 5000.00}>>> sorted_income = {k: incomes[k] for k in sorted(incomes)}>>> sorted_income{'apple': 5600.0, 'banana': 5000.0, 'orange': 3500.0}
内置函数,与字典配合使用
map()函数
>>> prices = {'apple': 0.40, 'orange': 0.35, 'banana': 0.25}>>> def discount(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}
filter()函数
>>> prices = {'apple': 0.40, 'orange': 0.35, 'banana': 0.25}>>> def has_low_price(price):... return prices[price] < 0.4...>>> low_price = list(filter(has_low_price, prices.keys()))>>> low_price['orange', 'banana']
字典解包运算符
>>> 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}
一个人,一条路,人在途中,心随景动,