Python数据类型(列表)_003

2024-10-10 10:42:38 浏览数 (6)

一、创建列表

  • 使用[ ]创建列表,并通过 = 将其赋值给变量
  • 使用内置的函数 list(),可以将其它数据类型转换为列表类型
代码语言:python代码运行次数:0复制
a = 'python'
list1 = list(a)
print(list1)

list2 = list()
print(list2)

运行结果:

['p', 'y', 't', 'h', 'o', 'n']

[]

二、删除列表

  • del关键字删除
代码语言:txt复制
del listname

参数含义:
listname 删除列表的名称
代码语言:python代码运行次数:0复制
list3 = [2, 4, 6]
print(list3)
del list3
print(list3)

运行结果:

Traceback (most recent call last):

File "E:PycharmProjectspythonProjecttest_basic.py", line 27, in <module>

print(list3)

^^^^^

NameError: name 'list3' is not defined. Did you mean: 'list'?

[2, 4, 6]

三、添加元素

1、序列的 拼接

一个列表的末尾添加一个列表,生成一个新的列表,且原有列表不变

2、append()方法添加元素

  • 语法
代码语言:txt复制
listname.append(obj)
参数说明:
listname 表示要添加元素的列表
obj 表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等。
  • 用于在列表末尾添加元素,将添加的元素看作一个整体,作为列表的一个元素添加,形成新列表
代码语言:python代码运行次数:0复制
a = '老虎'
list4 = [1, 2]
list4.append(a)
print(list4)

b = ['hello', 'word']
list5 = [1, 2]
list5.append(b)
print(list5)

运行结果:

[1, 2, '老虎']

[1, 2, ['hello', 'word']]

3、extend()方法添加元素

  • 语法
代码语言:txt复制
listname.extend(obj)

参数说明:
listname 指的是要添加元素的列表
obj 表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等,但不能是单个的数字。
  • 在列表末尾添加元素,将添加的元素拆开逐个添加到列表
代码语言:python代码运行次数:0复制
a = '老虎'
list4 = [1, 2]
list4.extend(a)
print(list4)

b = ['hello', 'word']
list5 = [1, 2]
list5.extend(b)
print(list5)

运行结果:

[1, 2, '老', '虎']

[1, 2, 'hello', 'word']

4、insert()方法插入元素

  • 语法
代码语言:txt复制
listname.insert(index , obj)

参数说明:
index 表示指定位置的索引值
insert() 会将 obj 插入到 listname 列表第 index 个元素的位置。
  • 用于在列表指定位置添加元素,将添加的元素看作一个整体,作为列表的一个元素添加,形成新列表
代码语言:python代码运行次数:0复制
a = '老虎'
list4 = [1, 2]
list4.insert(1, a)
print(list4)

b = ['hello', 'word']
list5 = [1, 2]
list5.insert(1, b)
print(list5)

运行结果:

[1, '老虎', 2]

[1, ['hello', 'word'], 2]

append()、extend()、insert()方法区别

方法

区别

append()

1、在末尾插入 2、将插入的元素看作整体

extend()

1、在末尾插入 2、将插入的元素拆开逐个添加到列表

insert()

1、在指定位置插入 2、将插入的元素看作整体 3、若在末尾插入一般不使用该方法

四、删除元素

1、del:根据索引值删除元素

  • 语法
代码语言:txt复制
del listname[index]

参数说明:
删除单个元素
listname 表示列表名称
index 表示元素的索引值


del listname[start : end]
参数说明:
删除中间一段连续的元素
start 表示起始索引
end 表示结束索引
del 会删除从索引 start 到 end 之间的元素,不包括 end 位置的元素
  • 举例
代码语言:javascript复制
# 删除单个元素
list6 = ['a', 'b', 'c', 'd', 'e','f']
del list6[1]
print(list6)
del list6[-1]
print(list6)

运行结果:

['a', 'c', 'd', 'e', 'f']

['a', 'c', 'd', 'e']

代码语言:python代码运行次数:0复制
# 删除一段连续元素
list6 = ['a', 'b', 'c', 'd', 'e', 'f']
del list6[1:3]
print(list6)

运行结果:

['a', 'd', 'e', 'f']

2、pop():根据索引值删除元素

  • 语法
代码语言:txt复制
listname.pop(index)

参数说明:
listname 表示列表名称
index 表示索引值,如果不写 index 参数,默认会删除列表中的最后一个元素
  • 删除列表中指定索引处的元素
代码语言:python代码运行次数:0复制
list7 = ['a', 'b', 'c', 'd', 'e', 'f']
list7.pop(1)
print(list7)

运行结果:

['a', 'c', 'd', 'e', 'f']

3、remove():根据元素值进行删除

  • 语法
代码语言:txt复制
listname.remove(ele)

参数说明:
listname 表示列表名称
ele 表示元素值,只会删除第一个和指定值相同的元素,而且必须保证该元素是存在的,否则会引发 ValueError 错误。
注:一般使用前会提前判断元素是否存在
  • 举例
代码语言:python代码运行次数:0复制
list8 = ['a', 'b', 'c', 'd', 'e', 'f']
list8.remove('b')
print(list8)
list8.remove('b')

运行结果:

['a', 'c', 'd', 'e', 'f']

Traceback (most recent call last):

File "E:PycharmProjectspythonProjecttest_basic.py", line 68, in <module>

list8.remove('b')

ValueError: list.remove(x): x not in list

4、clear():删除列表所有元素

  • 语法
代码语言:txt复制
listname.clear()
  • 删除列表的所有元素,也即清空列表
代码语言:javascript复制
list9 = ['a', 'b', 'c', 'd', 'e', 'f']
list9.clear()
print(list9)

运行结果:

[]

五、修改元素

1、修改单个元素

  • 通过索引直接赋值
代码语言:python代码运行次数:0复制
list10 = ['a', 'b', 'c', 'd', 'e', 'f']
list10[1] = '修改'
print(list10)

运行结果:

['a', '修改', 'c', 'd', 'e', 'f']

2、修改一组元素

1)不指定步长

  • 举例
代码语言:python代码运行次数:0复制
list11 = ['a', 'b', 'c', 'd', 'e', 'f']
list11[1:3] = ['和', '看']
print(list11)

运行结果:

['a', '和', '看', 'd', 'e', 'f']

2)指定步长

  • 举例
代码语言:python代码运行次数:0复制
list12 = ['a', 'b', 'c', 'd', 'e', 'f']
list12[1:5:2] = ['和', '看']
print(list12)

运行结果:

['a', '和', 'c', '看', 'e', 'f']

六、查找元素

1、index() 方法

  • 查找某个元素在列表中出现的位置(索引),返回元素所在列表中的索引值
  • 若该元素不存在,则会导致 ValueError 错误,所以在查找之前一般用 count() 方法判断一下。
  • 语法
代码语言:txt复制
listname.index(obj, start, end)

参数说明:
listname 表示列表名称
obj 表示要查找的元素
start 表示起始位置
end 表示结束位置
注:
start 和 end 参数用来指定检索范围:
·start 和 end 可以都不写,此时会检索整个列表;
·如果只写 start 不写 end,那么表示检索从 start 到末尾的元素;
·如果 start 和 end 都写,那么表示检索 start 和 end 之间的元素。
  • 举例
代码语言:python代码运行次数:0复制
list13 = ['a', 'b', 'c', 'd', 'e', 'f']
print(list13.index('d'))
print(list13.index(4, 'd'))

运行结果:

3

Traceback (most recent call last):

File "E:PycharmProjectspythonProjecttest_basic.py", line 84, in <module>

print(list13.index(4, 'd'))

^^^^^^^^^^^^^^^^^^^^

TypeError: slice indices must be integers or have an __index__ method

2、count()方法

  • 统计某个元素在列表中出现的次数
  • 如果 count() 返回 0,就表示列表中不存在该元素,所以 count() 也可以用来判断列表中的某个元素是否存在
  • 语法
代码语言:txt复制
listname.count(obj)

参数说明:
listname 代表列表名
obj 表示要统计的元素
  • 举例
代码语言:python代码运行次数:0复制
list14 = ['a', 'b', 'c', 'd', 'e', 'f', 'a']
print(list14.count('a'))
print(list14.count('h'))
if list14.count('h'):
    print('list14中存在h元素')
else:
    print('list14中不存在h元素')

运行结果:

2

0

list14中不存在h元素

0 人点赞