如何解决在列表理解中创建动态键
我正在使用 sqlalchemy(core) 从 alchemy 表中提取主键列。所以本质上我最初是这样做的:
coupon_tbl = db.Table( "issued_coupon",元数据,autoload=True,autoload_with=engine,schema="pricer"
现在为了提取主键列,我像这样遍历相应的对象:
private void CaptureMyScreen()
{
try
{
//Creating a new Bitmap object
Bitmap captureBitmap = new Bitmap(1024,768,PixelFormat.Format32bppArgb);
//Bitmap captureBitmap = new Bitmap(int width,int height,PixelFormat);
//Creating a Rectangle object which will
//capture our Current Screen
Rectangle captureRectangle = Screen.AllScreens[0].Bounds;
//Creating a New Graphics Object
Graphics captureGraphics = Graphics.FromImage(captureBitmap);
//copying Image from The Screen
captureGraphics.copyFromScreen(captureRectangle.Left,captureRectangle.Top,captureRectangle.Size);
//Saving the Image File
captureBitmap.Save(@"E:\Capture.jpg",ImageFormat.Jpeg);
MessageBox.Show("Screen Captured");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
现在我想做的是创建一个字典,其中包含一个键元组作为字典键,如下所示:
用于批记录列表中的记录:
pk_tuple = []
for x in coupon_tbl.primary_key.columns._all_columns:
pk_tuple.append(x.name)
pk_tuple = tuple(pk_tuple)
但是我如何动态地做到这一点?我想要这样的东西:
batchrecorddict["可能是元组的扩展?"] = rec.因此,如果主键实际上有 3 列,则分配将如下所示:
batchrecorddict[(rec["user_id"],rec["timestamp"],rec["3rd column of key])] = rec etc...
这能做到吗?
解决方法
我想通了,其实很简单:
创建这个函数:
def renderPKtuple(rec,pkcolumn): tmplist = []
for x in pkcolumn:
tmplist.append(rec[x])
return tuple(tmplist)
然后在循环中这样调用它:
用于批记录列表中的记录:
batchrecorddict[renderPKtuple(rec,pk_tuple)] = rec
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。