python(四)切片,内置函数,集合,json操作
Posted dmjsd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python(四)切片,内置函数,集合,json操作相关的知识,希望对你有一定的参考价值。
1. 切片
切片是只取列表或字符串中一部分或全部。
定义一个list:l=[‘Monica‘,‘Josie‘,‘Shirley‘,‘Leo‘,‘Tina‘]
s=[:] 取的是整个列表元素
s=[0:2] 取得是下标为零和1的元素(不管是从前数还是从后数,切片的特点包头不包尾)
s=[:2] 取得是小标为0和1的元素,当冒号前面不写下标时,默认从第一个元素开始
s=[2:] 取得是下标为2一直到这个列表的最后一个
s=[-3:-1] 写负数是从列表的最后开始数,要把小的写在前面
s=[::2] 最后的数字就是步长,是指从第一个取,每个一个再取
切片也同样适用于字符串
2. 深拷贝和浅拷贝
l=[‘Monica‘,‘Josie‘,‘Shirley‘,‘Leo‘,‘Tina‘]
s=l 这是浅拷贝 s和l值得是内存中的同一块地址
s=l[:] 这是深拷贝,s和l的内容是一致的,但是在内存中的地址不一样
import copy 这也是深拷贝
t=copy.deepcopy(l)
PS 查看s的存在内存中的地址 id(s)
3. 非空即真,非0即真
只要不是空就是真,只要是0就是真
s=‘’ 空字符串;l=[] 空列表;d=空字典;None
if s:
print(“走if”)
else:
print(“走else”)s为空字符串,所以会走else
4. 列表生成式:可以简化代码
result=[str(i).zfill(2) for i in range(1,20) if i <8]
第一步:先执行 for i in range(1,20)
第二步:执行 if i < 8
第三步:执行str(i).zfill(2)
5. 三元表达式
id_card=‘410881199211111141‘
sex=‘女‘ if int(id_card[-2])%2==0 ‘男‘
第一步:先执行 if int(id_card[-2])%2==0
第二步:如果第一步的结果为真 就执行sex=‘女‘
第三步:如果第一步的结果为假 就执行sex=‘男‘
6. 集合
集合的特点:无序,不重复
定义集合:s=set()
l=[1,1,2,2,3,3]
s=set(l) 把列表变成没有重复的集合
集合的方法有 add,remove
s.add()#添加元素
s.remove()删除元素
交集、并集、差集、对称差集
.intersection(集合)或 集合&集合
集合.union(集合)或 集合 | 集合
集合.different(集合)或 集合-集合
集合.symmetric(集合)或 集合 ^集合
7. json的操作
使用json需要导入import json
dump的作用是把字典转换成字符串;loads的作用是把字符串转换成字典。
定义一个字典,然后把这个字典写进文件,写进文件的只能是字符,json是字符。那就把字典变成json字符串,然后写进文件中。
第一种方法:
第一步:定义一个字典d=“A”:“B”
第二步:打开文件,f=open(‘a.txt‘,‘a+‘,encoding=‘utf-8‘)
第三步:把字典转换成json字符串:s=json.dumps(d,ensure_ascii=False,indent=8)
第四步:把字符串写进去:f.write(s)
第五步:关闭文件 f.close()
第二种方法(只是读写文件):
第一步:定义一个字典 d=“A”:“B”
第二步:打开文件 f=open(‘a.txt‘,‘a+‘,encoding=‘utf-8‘)
第三步:json.dump(d,f,ensure_ascii=False,indent=4)
第四步:f.close()
把json字符串读出来变成字典
第一种方法:
第一步:打开文件,f=open(‘a.txt‘,encoding=‘utf-8‘)
第二步:读文件内容:result=f.read()
第三步:把读的json字符串变成字典 dic=json.loads(result)
第四步:把独到的东西打印出来 print(dic)
第五步:关闭文件f.close()
第二种方法(只是读写文件):
第一步:定义一个字典:d="A":“B”
第二步:读文件内容:f=open(“a.txt”,encoding=‘utf-8‘)
第三步:result=json.load(f)
第四步:print(result)
第五步:f.close()
以上是关于python(四)切片,内置函数,集合,json操作的主要内容,如果未能解决你的问题,请参考以下文章