前端小白入坑python学习之语法基础总结02

list(列表):类似于js中的数组

1、声明语法:

l1 = []

l2 = list()

l3 = ['1','2','3']

2、列表用下标访问:

L = ['1','2','3','1','2','3','1','2','3']

L[5] => 3

3、分片访问:生成一个新列表

L = ['1','2','3','1','2','3','1','2','3']

L[1:5] => ['2','3','1','2','3']

L[:5] => ['1','2','3','1','2','3']

L[2:] => [,'3','1','2','3','1','2','3']

当分片访问下标超出列表范围的时候,就不考虑多余下标内容,也不会报错

python列表中下表取值还能用负数,用负数的话那就是从末尾开始往前数

4、del:删除操作

L = [1,2,3,4,5,6,7,8]

del L[2] ---->删除L列表中下标为2的字段

del L ---->删除L列表,在内存中直接删除,在之后的代码再次去请求回去这个L的话就会报错了

5、相加操作:

a = [1,2,3]

b = [4,5,6]

c = a + b ---->c = [1,2,3,4,5,6]

同理相乘操作,列表和一个整数相乘的话(注意只能和一个整数相乘)就是将同一个列表内容重复整数次

6、成员运算:(in / not in)

b = 1

a = [1,2,3,4,5]

b in a ---->返回True

7、for和while循环运算

for i in L:

print(1)

 

双层或多层列表循环:

L= [["one", 1], ["two", 2], ["three", 3] ]

for k,w in L:

print(k,'--',w)

---->

one -- 1

two -- 2

three -- 3

这里需要注意的是多层列表中,列表的每个元素的层级都必须是一致的,如果某个缺少一级或者多一级,在循环的时候就会报错!

8、创建列表的简写方法:

a = [1,2,3,4]

b = [i for i in a] ---->[1,2,3,4]

在创建的同时还能对i这个数字进一步的改造,例如:

b = [i *10 for i in a] ----> [10,20,30,40]

b = [i*10 for i in a if i<35] ----> [10,20,30]

嵌套列表便利简写:

b = [m + n for m in M for n in N if m+n <100]

9、列表的常用函数

len() --》 获取列表的长度

max() --〉获取列表中元素的最大的一个数,如果里面有字母等比较的就是首字母等等,具体的需要百度。

min() -->获取列表中元素的最小的一个数

list() -->将别的对象转换成列表的方法

append()-->在列表的末尾追加一个新的值,更改原列表

insert(位置下标,新的值) -->在指定位置插入新的值,更改原列表

pop() -->删除末尾的值,del能够指定删除某个位置的值

remove(value) -->删除指定值,注意并不是下标

clear() -->清除,清除整个列表

reverse() -->原地反转列表

extend() -->把一个列表直接拼接到另一个的后面

count() -->查找一个值在列表中出现的次数

copy() -->拷贝,将该列表在内存中再复制一个相同的数据,然后将这个数据指向新的变量,在更改新列表还是旧列表都不会影响到对方。这个地方涉及到了深浅拷贝问题:链接https://www.cnblogs.com/blaomao/p/7239203.html,有空还得完善下这个知识点!!!

 

tuple(元组):

1、声明语法:

t = ()

t = tuple()

t = (1,) --->这里需要注意的是当新建的元组中只有一个值的时候,这一个值后面必须跟上英文逗号!!!

2、元组的特性和列表区别不大,但是元组不能对里面的值进行修改,重点不能修改!!!

3、索引取值、分片操作、元组相加(这里的元组相加虽然像是修改了元组其实不是,元组的不能修改的是元组中的值,这里相加之后是形成了一个新的元组,新的元组并没有修改里面的内容)、元组相乘、成员检测、元组遍历(老师说元组遍历用for循环,for和while的循环都有自己的特定使用场景,但是我还是很闷逼到底是哪些场景)、多层元组遍历

4、元组函数

len() --->获取元组长度

max() --->获取最大值

min() --->获取最小值

tuple() --->转化为元组

count() --->计算某个值出现的次数

index() --->查找某个值在元组中的下标位置,如果有很多个同一元素,那就返回第一个

5、元组变量交换法

a,b = b,a

 

set(集合):

1、声明语法:

s = set()

s = {1,2,3} --->这种方法的声明{}中必须要有值

2、集合是一堆无序的且唯一的数据,所以集合没有索引下标也不能使用分片操作。还有集合中的数据是唯一的,那就可以用来做去重操作了。

3、集合内的数据可以是str,int,float,tuple,冰冻集合等,即内部只能放置可以哈希的数据。

4、成员检测(in,not in),for循环、多层集合循环,遍历内涵(就是简写)

5、集合函数

len() --->获取集合内部元素数量

max() --->获取最大值

min() --->获取最小值

set() --->生成一个集合

add() --->在集合的末尾加入新的数据

clear() --->清除集合,注意是原地清空数据

copy() --->拷贝

remove() --->在原集合上直接删除指定的值,如果要删除的值不存在就会报错

discard() --->在原集合上直接删除指定的值,但是要删除的值不存在不会报错,和remove相反

pop() --->随机移除一个元素,因为集合是无序的,所以就没有移除末尾这么一说了

intersection() --->交集,小学数学中的两个集合中同时拥有的数据组成的集合叫交集

difference() --->差集:当前集合减去交集中的数据,剩下的数据组成的集合叫差集

union() --->并集:两个集合中所有的元素合并为一个集合,这个集合叫并集(元素存在重复就保留一份就好)

issubset() --->检查一个集合是否是另一个的子集

issuperset() --->检查一个集合是否是另一个的超集

6、冰冻集合:简而言之就是这个集合里面的数据不能做修改的

s = frozenset()

 

dict(字典):就是一种组合数据,数据以键值对的形式存在

1、声明语法:

d = {}

d = dict()

d = {'one':1,'two':2}

2、字典是有序类型,但也是无序的,所以没有索引下标且不能分片操作

3、字典没有索引那怎么访问呢?用内部的键访问值

4、del['one'] --->删除某个键值对

5、成员访问,这里需要注意的是,访问只能访问键(也就是key),访问其他的是访问不到的

6、for循环:

for k in d:

print(k,'--',d[k])

for k in d.keys():

print(k)

for v in d.values():

print(v)

for k,v in d.items():

print(k,'--',v)

既然知道了字典怎么循环了,那也就自然就可以知道字典的简写内涵了

7、字典函数

len() --->获取字典内部元素数量

max() --->获取最大值

min() --->获取最小值

str() --->将字典转换成字符串的格式,返回

clear() --->清除字典

items() --->将字典转换成的元组格式,返回

keys() --->获取由key值组成的一个结构

values() --->获取由value值组成的一个结构

get('three',默认值) --->获取指定key的值,还能设置这个key的默认值,如果字典中没有这个key,get()返回的就是这个默认值。这里的好处就是代码不会报错,而d['three']这样直接获取就会报错。

fromkeys() --->使用指定的序列作为键,使用一个值作为字典的所有的键的值

 

传值和传址的区别:

# 对于简单的数值,采用传值操作,即在函数内对参数的操作不影响外面的变量

# 对于复杂变量,采用传地址操作,此时函数内的参数和外部变量是同一份内容,

# 任何地方对此内容的更改都影响另外的变量或参数的使用

id()函数:可以获取一个对象的的内存id,这样就可以判别两个看起来值一样的变量是否真的是同一个

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值