python:列表操作(python: list manipulation)
我有一个列表
L
的对象(因为它是值得的这是在scons)。 我想创建两个列表L1
和L2
,其中L1
是L
,附加了项目I1
,L2
是附加项目I2
L
我会使用
append
但修改原始列表。我怎样才能在Python中做到这一点? (对于初学者的问题抱歉,我不使用这种语言,只是为了scons)
I have a list
L
of objects (for what it's worth this is in scons). I would like to create two listsL1
andL2
whereL1
isL
with an itemI1
appended, andL2
isL
with an itemI2
appended.I would use
append
but that modifies the original list.How can I do this in Python? (sorry for the beginner question, I don't use the language much, just for scons)
原文:https://stackoverflow.com/questions/2723404
最满意答案
@LukasKabrt的评论指出了我正确的方向。 我没有直接比较Course对象,而是将现有的课程“暂时”转换为LINQ中的DTO并比较DTO。 现在我可以从
coursesToDelete
删除所有coursesToDelete
var coursesToDelete = ( from e in existing let dto = new CourseDto(e) where !incomingDtos.Contains(dto) select e).ToList();
The comment from @LukasKabrt pointed me in the right direction. Instead of comparing the Course objects directly, I convert the existing courses to DTOs "temporarily" inside the LINQ and compare DTOs. Now I am able to delete all from
coursesToDelete
var coursesToDelete = ( from e in existing let dto = new CourseDto(e) where !incomingDtos.Contains(dto) select e).ToList();
相关问答
更多-
EF Code First支持1:1和1:0..1关系。 后者是你正在寻找的(“一对一”)。 您的流畅尝试在两种情况下均表示需要 ,另一种情况下两端可选 。 你需要的是一端是可选的 ,另一端是必需的。 以下是编程EF代码第一本书的一个例子 modelBuilder.Entity
() .HasRequired(p => p.PhotoOf) .WithOptional(p => p.Photo); PersonPhoto实体具有一个名为PhotoOf的导航属性,指向Person类型 ... -
无法解释为什么(我猜其中一个小EF的谜团),但从相应的DbSet中删除可以DbSet问题: ... //existing.Slots.Remove(lastSlot); context.JurySlots.Remove(lastSlot); context.SaveChanges(); 执行以下命令: UPDATE [dbo].[ApplicantTests] SET [JurySlot_Id] = NULL WHERE (([Id] = @0) AND ([JurySlot_Id] = @1)) ...
-
@LukasKabrt的评论指出了我正确的方向。 我没有直接比较Course对象,而是将现有的课程“暂时”转换为LINQ中的DTO并比较DTO。 现在我可以从coursesToDelete删除所有coursesToDelete var coursesToDelete = ( from e in existing let dto = new CourseDto(e) where !incomingDtos.Contains(dto) select e).ToLi ...
-
删除规则规定当持有规则的对象本身被删除时,关系另一端的对象发生了什么。 所以: A<-(cascade)->>B B<<-(nullify)->A 删除A会导致删除所有相关的B.但是,删除任何一个B只会导致A忘记该特定的B. 因此,删除规则始终与其所针对的对象相关,因为目标对象是删除规则的整个点。 当对象具有多个关系时尤其如此。 A<-(cascade)->>B B<<-(nullify)->A C<--(cascade,required)-->>B C对象将阻止任何B对象的级联删除,而不管A需要什么。 ...
-
实体框架6代码首先一对多可选关系删除子问题(Entity framework 6 Code First one-to-many optional relationship remove child issue)[2019-12-18]
最后我找到了解决方案。 诀窍在于:在这种情况下:使用外键的一对多可选关联:当我想从子集合中删除项目时,必须首先将父实体标记为已修改,但是当我想将新项目链接到子集合时,必须在之后标记父母。 这里修改方法的代码如下: public void Modify(Region r, List_ToUnlink, List _ToLink) { _ToLink.All(xx => { xx.RegionI ... -
解决了! 删除行时,我运行: DbContext.Skills.Remove(Ctype(SkillsDataBinding.Current, Skill)) 之后,在“保存”过程中,设置如下导航属性: person.Skills = Ctype(SkillsDataBinding.DataSource, List(Of Skill)) 这很简单,但我是一个菜鸟。 Solved! When a row is deleted, I run: DbContext.Skills.Remove(Ctype(Sk ...
-
不允许与处于“已删除”状态的实体添加关系(Adding a relationship with an entity which is in the Deleted state is not allowed)[2024-01-19]
当您使用_db.Organizations.Attach(o)附加o时,它将遍历其所有子项并发现其中一些被删除。 当它试图附加它们时,您会收到您正在显示的错误。 这很有道理。 退后一步,弄清楚你想做什么。 删除内容的最简单方法是获取它然后删除它。 就像是: context.DeleteObject(context.MyEntity.Single(r => r.Id == myId)); 如果需要,可以使用其键来模拟MyEntity对象,然后删除该对象,它也可以工作并保存选择查询。 When you att ... -
“Nullify”是正确的。 假设Profile p1与Looking Fors l1 , l2 , l3 。 如果p1被删除并且关系设置为Nullify,则只有p1将从l1 , l2 , l3的反向关系中删除。 对于“无动作”, l1 , l2 , l3的反比关系将保持不变,因此指向不存在的元素p1 。 您必须从这些对象中“手动”删除p1 。 换句话说,“Nullify”是保持对象图一致的最简单规则:如果a与b相关,并且b被删除,则b与a不再相关。 "Nullify" is correct. Assume ...
-
如果你的代码看起来像这样: ISession session = sessionFactory.OpenSession(); ITransaction tx = session.BeginTransaction(); String hqlDelete = "delete Entity_A ea where ea.Code = :code"; int deletedEntities = session.CreateQuery( hqlDelete ) .SetString( "code", ...
-
您可以在删除街道之前获取城市对象。 此外,您的代码没有任何意义。 您正在for循环的范围中定义变量而不使用它们。 - 但你解释说这只是一个摘录。 请注意,行为未定义,因此无法保证崩溃。 无需担心之前的原因。 You can just get the city object before you delete a street. Also, your code does not make any sense. You are defining variables in the scope of the for ...