列表和元组

Posted romacle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了列表和元组相关的知识,希望对你有一定的参考价值。

基本的列表操作

  查询,访问列表

  想要查询列表中包含的元素只能通过下标或者整体打印的方式,而不能通过元素来打印其索引位置。

colour = [‘red‘,‘white‘,‘blue‘]
print(colour)
print(colour[0])
>>>[‘red‘, ‘white‘, ‘blue‘]
>>>red
>>>TypeError: list indices must be integers or slices, not str

  index方法用于从列表中找出某个值第一个匹配项的索引位置查询列表指定元素的位置

n = [to,be,do,in,be,not]
print(n.index(to))
>>>0

  #第二个怎么找?


 

  改变列表:元素赋值

colour = [‘red‘,‘white‘,‘blue‘]
colour[0]=‘yellow‘
print(colour)
>>>[‘yellow‘, ‘white‘, ‘blue‘]

  分片赋值(分片是一个非常强大的特性,增加,删除,修改列表元素)

colour = [‘red‘,‘white‘,‘blue‘,‘black‘]
colour[1:1]=[‘yellow‘,‘green‘]
print(colour)
>>>[‘red‘, ‘yellow‘, ‘green‘, ‘white‘, ‘blue‘, ‘black‘]

colour = [‘red‘,‘white‘,‘blue‘,‘black‘]
colour[1:2]=[‘yellow‘,‘green‘]
print(colour)
>>>[‘red‘, ‘yellow‘, ‘green‘, ‘blue‘, ‘black‘]

colour = [‘red‘,‘white‘,‘blue‘,‘black‘]
colour[1:]=[‘yellow‘,‘green‘]
print(colour)
>>>[‘red‘, ‘yellow‘, ‘green‘]

  


 

  删除元素:del,pop(),remove()

  del(需要指定删除元素的位置)

colour = [‘white‘,‘red‘,‘black‘,‘blue‘,‘green‘]
del colour[2]
print(colour)
>>>[‘white‘, ‘red‘, ‘blue‘, ‘green‘]

  pop方法会移除列表中的一个元素(默认是最后一个),并返回该元素的值。

n = [‘to‘,‘be‘,‘do‘,‘in‘,‘be‘,‘not‘,‘bee‘]
print(n.pop())
>>>bee

n = [‘to‘,‘be‘,‘do‘,‘in‘,‘be‘,‘not‘,‘bee‘]
print(n.pop(4))
>>>be

  pop方法是唯一一个既能修改列表又返回元素值(除了None)的列表方法。pop后也可以跟对象位置,删除指定位置的元素。等于(del listname [x])。

  remove方法用于移除列表中某个值的第一个匹配项。

n = [to,be,do,in,be,not,bee]
n.remove(be)
print(n)
>>>[to, do, in, be, not, bee]

 


   

  增加,插入元素

  append方法用于在列表末尾追加新的对象

colour = [white,red,black,blue,green]
colour.append(yellow)
print(colour)
>>>[white, red, black, blue, green, yellow]

  

  它不是简单地返回一个修改过的新列表,而是直接修改原来的列表。

  extend方法可以在列表的末尾一次性追加另一个序列中的多个值。

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

  看起来很像连接操作,两者最主要的区别在于:extend方法修改了被扩展的序列(即a),而原始的连接操作则不然,它会返回一个全新的列表。

a = [1,2,3]
b = [4,5,6]
x=a+b
print(x)
print(a)
print(b)

>>>[1, 2, 3, 4, 5, 6]
>>>[1, 2, 3]
>>>[4, 5, 6]
#或者a = a +b

   insert方法用于将对象插入到列表中(必须指定元素位置)

num = [1,2,3,5,6,7]
num.insert(3,four)
print(num)
>>>[1, 2, 3, four, 5, 6, 7]

 


  其他操作

  reverse方法将列表中的元素反向存放

colour = [white,red,black,blue,green]
colour.reverse()
print(colour)
>>>[green, blue, black, red, white]

  sort方法用于在原位置对列表进行排序(排序规则?),在‘原位置排序’意味着改变原来的列表,从而让其中的元素能按一定的顺序排列,而不是简单地返回一个已排序的列表副本

x = [3,6,1,8,2,5,7,4]
x.sort()
print(x)
>>>[1, 2, 3, 4, 5, 6, 7, 8]

  当需要一个排好序的列表副本,同时又保留原有列表不变的时候

x = [3,6,1,8,2,5,7,4]
y=x.sort()
print(x)
print(y)
>>>[1, 2, 3, 4, 5, 6, 7, 8]
>>>None

  需先把x的副本赋值给y,然后对y进行排序

x = [3,6,1,8,2,5,7,4]
y=x[:] #得到包含了x所有元素的分片
y.sort()
print(x)
print(y)
>>>[3, 6, 1, 8, 2, 5, 7, 4]
>>>[1, 2, 3, 4, 5, 6, 7, 8]

  只是简单的把x赋值给y是没用的,这样做就让x和y都指向同一个列表了

x = [3,6,1,8,2,5,7,4]
y=x
y.sort()
print(x)
print(y)
>>>[1, 2, 3, 4, 5, 6, 7, 8]
>>>[1, 2, 3, 4, 5, 6, 7, 8]

 


  元组即不可变列表,不可增加,修改,删除,但可查询。

  元组也属于序列,也适合序列的通用操作。

以上是关于列表和元组的主要内容,如果未能解决你的问题,请参考以下文章

Python列表和元组的使用方法及区别 详解

Python列表和元组的使用方法及区别 详解

Python的列表和元组的区别

Python核心列表和元组

Python成长之路第一篇-初识列表和元组

Python成长之路第一篇-初识列表和元组