python start

时间:2022-06-27 04:42:51
由于工作关系,新学习使用了python,感觉能非常快速和方便的开发,看完《简明 Python 教程》就跃跃欲试,实际用的是发现有些和C#的理解不一样
(1)如何筛选元组
例如  records = (('1','0P00009ROZ'),('10','0P00009RP7'),('11','01201'))
我要筛选 !=‘10’的记录,第一次想这个问题无从下手,后来网上找到方法
 ((record[0],record[1]) for record in records if record[1] != '10')
我想修改将‘1’所对应的 ‘0P00009ROZ’,该怎么办呢?
按照C#的思路
for record in records:
    if(record[0] == '1'):
        record[1] = '123'
执行报错
'tuple' object does not support item assignment
 
网上查给出的解释是元组不能修改,得新建个元组
 
def  select(record):
    if record[0] == '1':
       return (record[0],'123')
    else:
       return record
 
changedrecords = (select(record) for record in records)
这样得到的changedrecords 就是改掉后的
 
(2) 执行语句
     有个executemany非常好用,一条语句搞定很多个更新或存入
cursor.executemany('insert into tablename(PopularName,ShareClassId) values(%s,%s)',records)
    我就想查询是不是也可以,就省得拼in语句了,后来发现行不通,必须还是要拼语句,这里记录下免得再犯