记录python开发的一些技巧

一,python的默认字典

在一些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, map, lambda

# 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

五,把方法赋值给一个变量(以python生成器为例)

你可能感兴趣的:(python)