Python11之列表2(获取、删除列表元素、列表分片、拷贝)

时间:2021-11-21 21:32:13

一、获取列表元素值

  列表名 [ 索引值 ]

  注:索引值从0开始

 nameList = ['詹姆斯','字母哥','乐福','威少','乔治','戴维斯']
nameList[0]
'詹姆斯'
nameList[3]
'威少'
nameList[5]
'戴维斯'

二、删除列表元素

  1、remove(参数)方法

    参数是一个元素,调用该函数删除该列表中的该元素,若该元素不在列表中,则程序报错

 nameList = ['詹姆斯','字母哥','乐福','威少','乔治','戴维斯']
nameList.remove('戴维斯')
nameList
['詹姆斯', '字母哥', '乐福', '威少', '乔治'] nameList.remove ('戴维斯')
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
nameList.remove ('戴维斯')
ValueError: list.remove(x): x not in list

  2、del语句

    直接删除列表的一个元素值,也可以直接删除一个列表,可以直接通过索引值获得需要删除的元素

 nameList = ['詹姆斯','字母哥','乐福','威少','乔治','戴维斯']
del nameList[4]
nameList
['詹姆斯', '字母哥', '乐福', '威少', '戴维斯'] del nameList
nameList
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
nameList
NameError: name 'nameList' is not defined

  3、pop()方法

  不需要给出参数,直接返回列表中最后一个元素并从列表中删除

 nameList = ['詹姆斯','字母哥','乐福','威少','乔治','戴维斯']
nameList.pop()
'戴维斯'
nameList.pop()
'乔治'
nameList
['詹姆斯', '字母哥', '乐福', '威少']

三、列表分片(slice)

  若需要从列表中一次性取出多个元素时,可以通过列表分片来实现

  列表名 [左索引值:右索引值:步长]

    左右索引值及步长都可以省略:左索引值省略表列表元素从0开始;右索引值省略表包含左索引值右边的所有元素;步长省略表明步长为1;索引值可为负数,-1表示列表中右侧第一个值

 nameList = ['詹姆斯','字母哥','乐福','威少','乔治','戴维斯']
list1 = nameList[2:4:1]
list1
['乐福', '威少']
list2 = nameList[:5]
list2
['詹姆斯', '字母哥', '乐福', '威少', '乔治']
list3 = nameList[:4:2]
list3
['詹姆斯', '乐福']
list4 = nameList[-5:-3:1]
list4
['字母哥', '乐福']
list5 = nameList[:]
list5
['詹姆斯', '字母哥', '乐福', '威少', '乔治', '戴维斯']

四、列表拷贝

  赋值和列表分片以及copy()方法的区别:

    将列表名赋值给一个变量(其值会随着原列表元素的改变而改变)          这两个变量指向的是一个数据存储空间,当数据改变,则两者均会发生改变

    列表分片和copy()方法相当于新建了一个存储空间,其值不会随原数据改变而改变

 nameList = ['詹姆斯','字母哥','乐福','威少','乔治','戴维斯']
list1 = nameList[:]
list2 = nameList
lsit3 = nameList.copy()
nameList.reverse()
nameList
['戴维斯', '乔治', '威少', '乐福', '字母哥', '詹姆斯']
list1
['詹姆斯', '字母哥', '乐福', '威少', '乔治', '戴维斯']
list2
['戴维斯', '乔治', '威少', '乐福', '字母哥', '詹姆斯']
lsit3
['詹姆斯', '字母哥', '乐福', '威少', '乔治', '戴维斯']