zoukankan      html  css  js  c++  java
  • 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()

    import json
    #python的数据类型和json互相转换的
    #json就是一串字符串
    d = {"key1":"v1",'k2':'v2','k3':'v3','name':'刘婕'}
    for i in range(20):
        d['key%s'%i] = i
    
    with open('u2.txt','w',encoding='utf-8') as f:
        # json_str = json.dumps(d,indent=4,ensure_ascii=False) #转成字符串,转成json了
        # f.write(json_str)
        json.dump(d,f,ensure_ascii=False,indent=4)

    把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()

    import json
    with open('u.txt',encoding='utf-8') as f:
        # content = f.read()
        # print(json.loads(content))
        result = json.load(f)
        print(result)
    
    
  • 相关阅读:
    Yii2 urles
    mpdf Could not find image file (http://local.com/xxxxx)
    如何 安装Yii2的高级应用程序模板
    yii2的GridView和ActiveDataProvider具体使用
    Yii2的框架笔记整理
    笔记
    phpstudy本地搭建域名访问
    phpstrom的xdebug开启和yii2下的分页的链接
    一些自己编写的简单的js
    几种经过整理的文件上传压缩和前台js压缩的方法
  • 原文地址:https://www.cnblogs.com/dmjsd/p/11001091.html
Copyright © 2011-2022 走看看