现有一数据表结构和数据如下:
现有目标是要在相同name的数据中取出age的最大值。
思路如下:
1.结构转化
将数据读出构造成{‘name1’:[age1,age2,age3],‘name2’:[age1,age2,age3]}的字典。既字典的key为name,value为相同name所对应的age的list。
2.利用max取list最大值
取max(dict[name])即可得到相同name的age的最大值。
具体代码实现如下:
#coding=utf-8
# writre by qy.wu
from ftplib import FTP
import pymysql
def conn_mysql():
ip = '192.168.xxx.xxx'
port = 3306
use_name = 'root'
passwd ='xxxxxx' conn = pymysql.connect(host=ip,port =port,user= use_name,passwd =passwd,db='test')
cursor = conn.cursor()
querysql ='select * from test.test'
cursor.execute(querysql)
result_list = cursor.fetchall()
new_dict ={}
#print result_list[0][0]
#关键代码 如果存在key就append,如果不存在就生成key:value
for i in result_list:
if i[0] in new_dict.keys():
new_dict[i[0]].append(i[1])
else:
new_dict[i[0]] = [i[1]]
print new_dict
##利用max方法取list最大值
for i in new_dict.keys():
print str(i)+" : "+max(new_dict[i])
return new_dict
最后输入结果如下: