问题描述
如何一次性将列表1中的某组项目添加到列表2中? (所以没有for循环)
例如:
list2 = [1,2,3,4]
list2 = [1,4,5,6,7]
现在,我想将list1中的前3项添加到列表2中,因此最终结果将是:
const Component = () => {
const scale = useMotionValue(defaultScale);
return (
<motion.img
style={{ scale }}
onMouseEnter={ () => scale.set(1.35) }
onMouseLeave={ () => scale.set(defaultScale) }
/>
)
}
我知道您可以从列表中删除一组特定的项目,但是如何移动它们呢?谢谢!
解决方法
您可以使用列表切片[:3]
和.extend()
来做到这一点,
list1 = [5,6,7,8]
list2 = [1,2,3,4]
list3 = list2[:3]
list3.extend(list1)
print(list3)
演示: https://rextester.com/NPD40369
要从list2
使用中获取最后3个元素,请list2[-3:]
有时候,它比我们想象的要简单。使用它来添加前三个元素:
list2.extend(list1[:3])
根据您的评论,使用它添加最后三个:
list2.extend(list1[-3:])
,
您可以使用列表slice,指向python简介的链接,这是一个很好的页面,用于解决此类问题。
如下所示:
list1 = [5,4]
list2 += list1[:3]
print(list2)
输出:
[1,4,5,7]
记住切片,它来自但不包括索引,直到索引(包括索引)。例如
list2 += list1[2:3]
将是:
[1,7]
,
您可以串联列表
list2 += list1[:3]