Python嵌套字典的应用:
有的时候我们需要类似于二维数组的使用,这个时候就可以使用字典的嵌套:
# result是一个嵌套字典
result.setdefault(item,{})
result[item][person] = 188
保留小数点后具体位数:
"%.6f" % aFloatNum
# 这个方式使用灵活,可以嵌套在程序的很多地方
pandas
# 利用pd.read_csv()读文件的时候,如果文件中没有列的索引
# 即每一行都是数据
# 那么在读取的时候一定要加上一个参数:header=None
pd.read_csv(r"E:\xxxx\xxxx.csv", sep=',', header=None)
四舍五入
round(2.3)#2
round(2.7)#3
字典排序
我们想要根据字典的值对字典进行排序:
aDict = {'a':50, 'b':20, 'c':30}
sortedDict = sorted(aDict.items(), lambda x, y: cmp(x[1], y[1]), reverse=True)
# result
# 注意:这里返回的排好序的是个list,里面的每个元素都是元组的形式
[('a', 50), ('c', 30), ('b', 20)]
获得组合数
>>> import itertools
>>> for i in itertools.product('ABCD', repeat = 2):
... print i,
...
('A', 'A') ('A', 'B') ('A', 'C') ('A', 'D') ('B', 'A') ('B', 'B') ('B', 'C') ('B', 'D') ('C', 'A') ('C', 'B') ('C', 'C') ('C', 'D') ('D', 'A') ('D', 'B') ('D', 'C') ('D', 'D')
>>> for i in itertools.permutations('ABCD', 2):
... print i,
...
('A', 'B') ('A', 'C') ('A', 'D') ('B', 'A') ('B', 'C') ('B', 'D') ('C', 'A') ('C', 'B') ('C', 'D') ('D', 'A') ('D', 'B') ('D', 'C')
>>> for i in itertools.combinations('ABCD', 2):
... print i,
...
('A', 'B') ('A', 'C') ('A', 'D') ('B', 'C') ('B', 'D') ('C', 'D')
>>> for i in itertools.combinations_with_replacement('ABCD', 2):
... print i,
...
('A', 'A') ('A', 'B') ('A', 'C') ('A', 'D') ('B', 'B') ('B', 'C') ('B', 'D') ('C', 'C') ('C', 'D') ('D', 'D')