如何在python中使用列表切片附加到列表的末尾?

时间:2017-11-30 06:09:21

标签: python list slice

以下内容可用于添加切片以附加到列表前面。

func setLeftView(imageView: UIImageView, withPadding padding: CGFloat) {

let height = imageView.frame.height
let width = imageView.frame.width + padding

let paddingView = UIView(frame: CGRect(x: 36, y: 0, width: width, height: height))
paddingView.addSubview(imageView)
self.leftView = paddingView
self.leftViewMode = .always
}

用于附加到列表末尾的切片。

4 个答案:

答案 0 :(得分:2)

如果你真的想使用切片,你可以使用a:

的长度
a = [5, 6]
a[len(a):] = [1, 2, 3]
a

输出:

[5, 6, 1, 2, 3]

但最简单的是直接扩展a

a = [5, 6]
a += [1, 2, 3]   # or a.extend([1, 2, 3])

答案 1 :(得分:1)

>>> a = [1, 2, 3]
>>> a[len(a):] = [4, 5, 6]
>>> a
[1, 2, 3, 4, 5, 6]

>>> a = [1, 2, 3]
>>> a += [4, 5, 6]
>>> a
[1, 2, 3, 4, 5, 6]

答案 2 :(得分:1)

你有Jeevaa和Reblochon Masque的简短回答,但是如果你想使用for循环那么试试这个:

a = [5,6]
b = [1,2,3]
for val in b[::-1]:#Reverse b and insert it to a
   a.insert(0,val)
print(a)

<强>输出

[1,2,3,5,6]

答案 3 :(得分:1)

我认为你应该考虑extend()

>>> a = [1, 2, 3]
>>> a.extend([4, 5, 6])
>>> a
[1, 2, 3, 4, 5, 6]
  

++=运算符都是为列表定义的,它们是语义上的   类似于延伸。

     

list + list2在内存中创建第三个列表,因此您可以返回   它的结果,但它要求第二个iterable是一个列表。

     

list += list2就地修改列表(它是就地操作符,   和列表是可变对象,正如我们已经看到的那样)因此它不会创建一个   新名单。它也像extend一样工作,因为第二个iterable可以   是任何可迭代的。

时间复杂度

  • 追加具有恒定的时间复杂度O(1)
  • 延长时间复杂度O(k)
  

迭代多次调用append会增加复杂性,   使它等同于extend的,以及自扩展的迭代   在C中实现,如果你想追加,它总是会更快   从迭代到列表的连续项。

More Information