python的list

变量:相当于是一个容器,每次只能存储一个数据

作用:相当于是一个容器,可以同时存储多个数据

本质:一种有序的集合【有序:数据的存放顺序和底层存储的顺序是相同】

列表中的元素本质存储的是一个变量【引用】,列表是可变的【一个列表一旦被定义,则在代码运行的过程中,其中的元素的值可以随时发生改变】

num = 10

list1 = [43,5,45,46,5]

print(id(list1[0]))

list1[0] = 100

下方为具体使用: 

#1.创建【定义一个列表类型的变量】
#命名方式:lxx   listxxx,不建议直接使用list
#其中允许存放重复元素
list1 = [45,23,2,54,54,6]
print(list1)

#其中允许存放不同类型的数据
list2 = ["hello",4637,False]
print(list2)


#列表元素的访问
#索引/下标/角标:取值范围:0~len(xx)  - 1    或者  -1~ - (len(xxx))
print(list1[3])
print(list1[-1])
#print(list1[20])   #IndexError: list index out of range 列表下标越界


#列表元素的替换/修改
list1[3] = 473
print(list1)

#组合:生成了一个新的列表
print(list1 + list2)
print(list1)

#列表元素的重复
print(list1 * 3)
print(list1)

#判断某个元素是否在列表中
print(10 in list1)  #False
print(10 not in list1) #True
print(45 in list1)      #True
print(45 not in list1)  #False

#列表切片【截取】:根据指定的列表获取子列表
list3 = [45, 23, 2, 473, 54, 6,5,6,56,5]
print(list3[2])
print(list3)
#格式:列表名[start:end:step],包头不包尾
#获取从指定下标开始到结尾的元素组成的一个子列表
print(list3[2:])
#获取从开头到指定下标的元素。。。。
print(list3[:6])
#截取指定区间
print(list3[2:6])

#特殊情况1:如果end超出了下标的范围,则默认获取从指定下标开始到结尾的元素
print(list3[4:100])
#等价于
print(list3[4:])

#特殊情况2:step在默认情况下为1
print(list3[1:6:2])  #1,3,5
print(list3[-1:-6])  #当start和end都为负数,step为正数的时候,获取的结果为[]

print(list3[-1:-6:-2])  #当start,end和step都为负数的时候,表示倒序

#将列表倒序输出
print(list3[-1::-1])
print(list3[::-1])

#列表系统功能
#1.添加元素
#1.1append,追加,在列表的末尾添加元素                  常用
l1 = [22,33,44,55]
print(l1)
#追加单个元素
l1.append(66)
print(l1)
#追加多个元素,不能直接追加,通过列表的形式追加,形成了一个二维列表
#l1.append(77,88)  #报错:TypeError: append() takes exactly one argument (2 given)
l1.append([77,88])
print(l1)      #结果:[22, 33, 44, 55, 66, [77, 88]]

#1.2extend,扩展,在列表的末尾添加元素
l2 = [22,33,44,55]
#追加单个元素,不能直接添加,参数一定是可迭代的
#l2.extend(66)   #T报错:ypeError: 'int' object is not iterable

l2.extend([66])
print(l2)

l2.extend([77,88])
print(l2)    #结果:[22, 33, 44, 55, 66, 77, 88]

"""
总结:
列表名.功能名(xx)
append可以直接添加单个元素,而extend不能
append在添加多个元素的时候,是以列表的形式添加,而extend只添加元素【打碎加入】
"""

#1.3insert,插入,在指定索引处插入一个元素,后面的元素向后顺延
#列表名.insert(索引,被插入的元素)
l3 = [22,33,44,55]
#插入单个元素
l3.insert(2,66)
print(l3)
#插入多个元素:和append类似,将整个列表直接插入
l3.insert(1,[77,88])
print(l3)
#2.删除
#2.1pop,弹出,移除并获取列表中指定索引处的元素    在栈中【列表的底层工作原理是栈】
list1 = [11,22,33,44,55]
#注意:pop在默认情况下删除的是最后一个元素
result1 = list1.pop()
print(list1)
print(result1)
result2 = list1.pop(2)
print(list1)

#2.2remove,移除,直接操作的是元素
list2 = [11,22,33,44,55,33,33,55]
list2.remove(22)
print(list2)

#注意:移除指定元素在列表中第一次匹配到的元素【从左往右】
list2.remove(33)
print(list2)


#2.3clear   清除,将指定列表变为空列表      使用场景:循环中,每次需要清空【重置】列表
list2.clear()
print(list2)
#3.获取
list1 = [54,6,57,5,57,7,6,7,57]
#3.1len(),获取列表长度
l = len(list1)

#3.2max(),获取列表中的最大值
print(max(list1))
#3.3min(),获取列表中的最小值
print(min(list1))

#练习:模拟max或者min的功能,求三个数中的最大值
#假设法
num1 = 43
num2 = 437
num3 = 2
#定义一个变量,用于记录最大值
max1 = num1
if num2 > num1:
max1 = num2

if num3 > max1:
max1 = num3


#3.4index(),获取指定元素在原列表中第一次匹配到的索引
print(list1.index(57))

#模拟index的功能
for i in range(len(list1)):
if list1[i] == 57:
    print(i)


#3.5count(),统计个数,统计指定元素在列表中出现的次数
c = list1.count(57)
print(c)

list1 = [54,6,57,5,57,7,6,7,57,57,57,436]
#练习:将list1中57给全部删除
# list1.remove(57)
# list1.remove(57)
# list1.remove(57)
# print(list1)

#统计57在列表中出现的次数
num = 57
c = list1.count(num)
n = 1
while n <= c:
list1.remove(num)
n += 1

print(list1)
import  copy

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值