在一些for循环中,有时需要将for循环出来的数据放到一个字典中,使用其中的一个指作为key。直接看代码吧:
// python的默认字典
region_dict = dict()
# query_result是sql查询出来的数据,为元组内套字典。
for item_region_info in query_result:
region_dict.setdefault(item_region_info.get('val_4'), [])
record_common_time = item_region_info.get('val_5')
one_col = [
item_region_info.get('val_3'),
item_region_info.get('val_2'),
item_region_info.get('val_1')
]
python自带的collections库中实际上也有默认字典,以及其他一些数据结构。暂时还没用到
# 一个字典的items(), 是个元组,格式如下:
# [('b', {'a': 2, 'b': 3}), ('a', {'a': 1, 'b': 2})] 这是数据格式
#取代方法是,用lambda表达式
sorted_x = sorted(x.iteritems(), key=lambda x : x[1])
print sorted_x
#[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)]
sorted_x = sorted(x.iteritems(), key=lambda x : x[1], reverse=True)
print sorted_x
参考:字典根据值排序
# 列表扩展
>>> aa = list('',)
>>> aa
[]
>>> a = [1,2,3]
>>> b = ['a', 'b', 'c']
>>> a[1:1] = b
>>> a
[1, 'a', 'b', 'c', 2, 3]
# 嵌入列表
>>> a.insert(1, b)
>>> a
[1, ['a', 'b', 'c'], 2, 3]
# reduce 看下面的引用吧,讲的好
>>>a = [2, 3, 4, 2, 3, 4, 5, 6, 7, 8, 0]
>>>c = reduce()
# map 怎么解释呢,知道有这个,然后会用吧
>>>a_count = [2, 3, 4, 0, 0, 0, 0, 0, 0]
>>>b_count = [1, 2, 3, 4, 5, 6, 7, 8, 0]
>>>k_count = map(lambda x, y: x + y, a_count , b_count)
>>>k_count
[3, 5, 7, 4, 5, 6, 7, 8, 0]
map/reduce