Python基础语法【4】—— 结构数据类型之列表




列表概念:

  在实际开发中,经常需要将一组数据存储起来,以便后边使用,在c语言或者Java中是使用数组存储一组数据,Python中没有数组,而是引入了列表。
  列表中的所有元素都在一对中括号内 [ ],中括号内的元素之间用逗号分隔开,如下所示:

[element1, element2, element3, …, elementn]

  列表中的元素个数不限,元素类型只要是Python支持的数据类型即可,如下列例子:

[“hello”, 2, [1,3,4], 2.3]


  上述列表中同时包含了字符串,整型,列表以及浮点型
  注意:列表是可以同时包含不同的数据类型,但是通常情况下,为了提高程序的可读性,同一列表中放入同一类型的数据


  通常用list代指列表,因为列表的数据类型就是list
在这里插入图片描述



一.创建列表

  创建列表的方法有两种,如下所示:

1.使用 [ ] 直接创建列表

语法格式:

listname = [element1 , element2 , element3 , ... , elementn]



如下所示,都是列表:

list1 = [1, 2, 3, 4, 5, 6, 7]
list2 = [“hello”, 1, 2.4]
list3 = [“hello”, [1,2], 4]
list4 = [ ]      #列表元素可以为空


2.使用list()函数创建列表

使用list()函数可以将其他类型转换为列表类型

语法格式:

listname = list(iteration)



例1:

# 将字符串转换成列表
list1 = list("hello")
print(list1)
# 将元组转换成列表
tuple1 = (1, 2, 3, 4)
list2 = list(tuple1)
print(list2)
# 创建空列表
print(list())

运行结果:
在这里插入图片描述




二.访问列表元素

访问列表元素的方式有两种:

1.使用索引方式访问列表元素

语法格式:

listname[i]  

注意:在这里索引(i)可以是正数,也可以是负数


例:

list1 = [1,"hello",2.3]
print(list1[2],list1[-2])

运行结果:
在这里插入图片描述


  

2.使用切片方式访问列表元素

语法格式:

listname[start : end : step]

上述的start表示起始索引,end表示结束索引,step表示步长
注意:上述的区间是左闭右开,即 [start,end)


例:

list1 = [1, 2, 3, 4, 5, 6, 7, 8]
print(list1[0:5])
print(list1[0:5:2])

运行结果:
在这里插入图片描述





三.添加元素到列表

Python中可以使用+将两个列表拼接起来

例:

list1 = [1, 2, 3]
list2 = ["hello", "Python"]
list3 = list1 + list2
print(list3)

运行结果:
在这里插入图片描述

上述拼接是产生一个新的列表,并不是改变原有的列表



Python添加元素到列表的三种方法:

1.使用append()方法添加元素

append()方法是在列表的末尾追加元素

语法格式:

listname.append(obj)



例:

list1 = [1, 2, 3]

#追加元素

list1.append(4)
print(list1)

list1.append("hello")
print(list1)

list1.append((1, 2))
print(list1)

list1.append([1, 2, 3])
print(list1)

运送结果:
在这里插入图片描述
  使用append()方法添加数据时,是将添加的数据作为一个整体添加到列表中


2.使用extend()方法添加元素

语法格式:

listname.extend(obj)



例:

list1 = [1, 2, 3]

#追加元素

list1.extend("hello")
print(list1)

list1.extend((1, 2))
print(list1)

list1.extend([1, 2, 3])
print(list1)

运行结果:
在这里插入图片描述
  使用extend()方法在进行添加的时候,是将待添加的obj中的元素逐个添加到列表中,待添加的obj可以是单个的元素,也可以是列表,元组,但是不可以是单个的数字


3.使用insert()方法添加元素

  append()方法和extend()方法只能在列表的末尾添加元素,而insert()方法是在列表中间的某个位置插入元素

语法格式:

listname.insert(index , obj)



  
例:

list1 = [1, 2, 3]

#追加元素

list1.insert(0, 4)
print(list1)

list1.insert(1, (1, 2))
print(list1)

list1.insert(2, [1, 2, 3])
print(list1)

运行结果:
在这里插入图片描述

  使用insert()方法进行插入时,也会将待插入的对象作为一个整体进行插入,而不是一个一个进行插入





四.删除列表中的元素


Python中可以使用下列4种方法删除元素

1.使用del 来根据索引值删除元素

语法结构:

# 删除指定索引值位置的元素
del listname[index]

# 删除中间一段连续的元素  [start,end)
del listname[start : end]



例:

list1 = [1, 2, 3, 4, 5, 6]

# 删除单个元素
del list1[5]
print(list1)

# 删除区间内的元素
del list1[0: 2]
print(list1)

运行结果:
在这里插入图片描述


2.使用pop() 删除元素

语法结构:

listname.pop(index)


index表示下标,如果不写,默认就是删除列表中的最后一个元素


例:

list1 = [1, 2, 3, 4, 5, 6]

list1.pop(0)
print(list1)


list1.pop(1)
print(list1)

list1.pop()
print(list1)

运行结果:
在这里插入图片描述


3.使用remove() 删除元素

语法结构:

listname.remove(element)

  
  该方法是根据元素的值进行删除的,而不是下标,remove()方法只会删除第一个和指定值相同的元素,而且必须保证该元素是存在的,否则会报错
  
例:

list1 = [1, 2, 3, 4, 2, 5, 6]

list1.remove(2)
print(list1)


list1.remove(0)
print(list1)

运行结果:
在这里插入图片描述



4.使用clear() 删除列表所有元素

即清空列表

例:

list1 = [1, 2, 3, 4, 2, 5, 6]

list1.clear()
print(list1)

运行结果:
在这里插入图片描述




五.列表修改元素

1.修改一个元素

  修改单个元素,直接对元素进行赋值就可以

例:

list1 = [1, 2, 3, 4, 2, 5, 6]

list1[0] = 0
list1[-1] = 2
print(list1)

运行结果:
在这里插入图片描述

2.修改一组元素

  通过切片语法来给一组元素进行赋值

例1:

list1 = [1, 2, 3, 4, 5, 6]

list1[1: 4] = [20, 30, 40, 50]
print(list1)

运行结果:
在这里插入图片描述


  如果对空的切片进行赋值时,就相当于插入了一组新的元素,空的切片赋值时,不支持单个值,如下所示:
例2:

list1 = [1, 2, 3, 4, 5, 6]

list1[4: 4] = [20, 30, 40, 50]
print(list1)

list1[4: 4] = 90
print(list1)

运行结果:

在这里插入图片描述


  如果使用字符串进行赋值,会自动将字符串转换成序列,每一个字符就是一个元素
例3:

list1 = [1, 2, 3, 4, 5, 6]

list1[2: 4] = "hiw"
print(list1)

运行结果:在这里插入图片描述
  
  
  使用切片语法是也可以指定步长,但是要求所赋值的新元素个数与原有的元素个数相同
例4:

list1 = [1, 2, 3, 4, 5, 6]

list1[0: 4: 2] = "hi"
print(list1)

运行结果:
在这里插入图片描述




六.列表查找元素

1.index()方法

  该方法用来查找某个元素在列表中出现的位置,如果该元素不在,则会报错

语法格式:

listname.index(obj, start, end)

注意:
1.start和end可以都不写,此时会检索整个列表
2.如果只写了start,那么就会从start检索到末尾
3.两个都写,就是检索start到end的元素


例:

list1 = [1, 2, 3, 4, 5, 6]

print(list1.index(1))
print(list1.index(2, 0, 2))
print(list1.index(7))

运行结果:
在这里插入图片描述

2.count()方法

count()方法还可以用来统计列表中出现指定元素的次数

语法结构:

listname.count(obj)

  
如果count的结果返回0就表示不存在该元素

例:

nums = [1, 2, 3, 4, 5, 6, 6, 6, 7]
# 统计元素出现的次数
print("6出现了%d次" % nums.count(6))
# 判断一个元素是否存在
if nums.count(6):
    print("列表中存在这个元素")
else:
    print("列表中不存在这个元素")

if nums.count(8):
    print("列表中存在这个元素")
else:
    print("列表中不存在这个元素", nums.count(8))

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值