python入门for循环、列表、深浅拷贝笔记

一、for循环

while 基础语法:核心的目的就是用来重复执行代码的逻辑
for循环:针对多个数据遍历查看
格式:
for 临时遍历 in 数据:
循环重复执行代码:循环次数是数据的个数,每循环一次会将数据中的第n个位置的数据取出来

for i in "python":
	print(i)

range()函数:生成一组整数序列
range(start,end,step)
注意:
左闭右开,start不写默认为0,step不写默认为1,也可以是负数,此时start>end
for循环和while循环使用场景:如果确定循环次数,使用for循环,不确定循环多少次,用while循环

二、列表

1、定义:

定义:列表是一个【可修改】的,元素以 【逗号】分割,以【中括号】包围的有序序列

2、使用:

  1. 定义空列表:lst = [] lst = list()
  2. 定义非空列表:lst = list([1,2,3]) lst = [1,2,3]
  3. 列表中的元素都有对于的索引,索引从0开始,对应列表中的第一个数据,索引可以为负,索引-1对应列表中最后一个元素
    根据索引取出列表中的元素: 列表[索引]
  4. for循环可以遍历列表
for i in [1,2,3,4,5]:
  	print(i)
  1. 列表相加:
    [1,2,3]+[4] —[1,2,3,4,]
  2. 列表重复:
    [1,2,3]*3—[1,2,3,1,2,3,1,2,3]
  3. 列表切片格式:
    列表[开始索引:结束索引:步长]
    开始索引不写,默认从开头
    结束索引不写,默认到尾部
    步长不写,默认是1,如果步长为负,则是倒着取
    区间是左闭右开
  4. 使用多个变量接收元素
lst = ['a','b']
  v1,v2 = lst
  print(v1)
  print(v2)
  1. 序列解包:*变量名
 lst = ['a','b','c']
 v1,*v2 = lst
 print(v1)
 print(v2)

3、列表类型特有方法(增删改查)

  1. 增加:
    1.1 append(),追加在列表的尾部加入指定元素
    用法:列表 . append(元素)
    1.2 extend(),将指定序列的元素追加到列表尾部
    1.3 insert()将指定的元素插入到对应索引的位置上,超过索引会在末尾插入
    用法: 列表 . insert (索引,元素)
  2. 删除
    2.1pop()根据索引删除列表中的一个元素,默认删除最后一个元素,并且返回该元素的值
    用法:列表 . pop(索引)
    2.2 remove()从左到右删除第一个找到的元素
    用法:列表 . remove(元素)
    2.3 clear()清空列表
    2.4 del可以删除整个列表或者列表中的数据,是python的内置功能
    用法: del 列表
  3. 修改
    3.1 列表[index] = 值,将值赋值给指定位置的元素
    3.2 reverse(),顺序倒序
    3.3 sort(),将列表默认从小到大排序,按照ASCII码表进行操作
    用法: 列表 . sort()
    3.4 sorted(),返回一个排好序的列表,原列表不变
    用法: sorted(列表)
    如果是对字符串元素进行排序,默认是对字符串中的每个字符元素按照ascii码表进行比较
  4. 查找
    4.1 count(),返回元素在列表中的个数
    用法: 列表 . count (元素)
    4.2 index(),从左向右查,返回某个匹配元素对应的索引值
    用法: 列表 . index(元素)

4、列表嵌套 :

列表中可以多层次的嵌套列表
len() : 返回一串数据的长度 len(列表)

三、深浅拷贝

1、python的数据类型归纳:

  1. 简单数据类型: 数值型,str
  2. 复杂数据类型:list,tuple,dict,set
  3. 保存方式:
    简单数据类型==》直接保存数据
    复杂数据类型==》保存内存地址

2、浅拷贝:

对于第一层创建的是新的内存地址,第二层开始,指向的都是同一个内存地址


#拷贝copy  列表.copy()
lst = [1,2]
#lst2是lst的浅拷贝(只拷贝了一层)
lst2 = lst.copy
lst.append(3)
print(id(list),id(lst2))
a = [10]
lst = [1,2,a]
lst2 = lst.copy()
a.append(11)
print(lst2)

3、深拷贝

嵌套的可变数据重新开辟一片内存空间

import copy
a = [10]
lst = [1,2,a]
lst2 = copy.deepcopy(lst)
a.append(11)
print(id(lst[2][0]))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Adyan?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值