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

一、获取列表元素值

  列表名 [ 索引值 ] 

  注:索引值从0开始

1 nameList = ['詹姆斯','字母哥','乐福','威少','乔治','戴维斯']
2 nameList[0]
3 '詹姆斯'
4 nameList[3]
5 '威少'
6 nameList[5]
7 '戴维斯'
View Code

二、删除列表元素

  1、remove(参数)方法

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

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

  2、del语句

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

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

  3、pop()方法

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

1 nameList = ['詹姆斯','字母哥','乐福','威少','乔治','戴维斯']
2 nameList.pop()
3 '戴维斯'
4 nameList.pop()
5 '乔治'
6 nameList
7 ['詹姆斯', '字母哥', '乐福', '威少']
View Code

三、列表分片(slice)

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

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

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

 1 nameList = ['詹姆斯','字母哥','乐福','威少','乔治','戴维斯']
 2 list1 = nameList[2:4:1]
 3 list1
 4 ['乐福', '威少']
 5 list2 = nameList[:5]
 6 list2
 7 ['詹姆斯', '字母哥', '乐福', '威少', '乔治']
 8 list3 = nameList[:4:2]
 9 list3
10 ['詹姆斯', '乐福']
11 list4 = nameList[-5:-3:1]
12 list4
13 ['字母哥', '乐福']
14 list5 = nameList[:]
15 list5
16 ['詹姆斯', '字母哥', '乐福', '威少', '乔治', '戴维斯']
View Code

四、列表拷贝

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

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

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

 1 nameList = ['詹姆斯','字母哥','乐福','威少','乔治','戴维斯']
 2 list1 = nameList[:]
 3 list2 = nameList
 4 lsit3 = nameList.copy()
 5 nameList.reverse()
 6 nameList
 7 ['戴维斯', '乔治', '威少', '乐福', '字母哥', '詹姆斯']
 8 list1
 9 ['詹姆斯', '字母哥', '乐福', '威少', '乔治', '戴维斯']
10 list2
11 ['戴维斯', '乔治', '威少', '乐福', '字母哥', '詹姆斯']
12 lsit3
13 ['詹姆斯', '字母哥', '乐福', '威少', '乔治', '戴维斯']
View Code
原文地址:https://www.cnblogs.com/ksht-wdyx/p/11312098.html