1.元组()
元组跟列表一样,但是不能增删改,能查。元组又叫只读列表
2个方法 一个 count 一个 index

2.字典{}
字典是通过key来寻找value
因为这里功能比较多,所以写入了一个Code里面,后面加了注释。
 #!/usr/bin/env python
 #_*_coding:utf-8_*_

 info = {
     'stu1101':"Tenglan Wu",
     'stu1102':"LongZe Luola",
     'stu1103':"XiaoZe Maliya",
 }
 #print(info)
 #print(info["stu1101"]) #查找
 #print(info.get('stu1104')) #查找  常用
 #info['stu1101'] = "武藤兰"  #修改
 #info['stu1104'] = "cangjingkong" #添加
 #del
 #del info["stu1101"] #删除
 #info.pop("stu1101") #删除
 #print("stu1103" in info)  #判读是不是有个这个key,返回true false
 # #print(info)
 b = {
     'stu1101':"alex",
     1:3,
     2:5,
 }
 #info.update(b)    #把2个字典合并,有交叉的Key覆盖,没有的旧添加
 #print(info)
 #c = dict.fromkeys([6,7,8],[1,{"name":"alex"},444]) 没用
 #print(c)
 #print(info.items()) #把字典转化为一个列表

 for i in info:
     print(i,info[i])   #这个更高效
 for k,v in info.items(): #items 是把字典转为列表过程,时间会慢
     print(k,v)

3.集合

跟数学里面的定义差不多

因为这里功能比较多,所以写入了一个Code里面,后面加了注释。

 #!/usr/bin/env python
 #_*_coding:utf-8_*_

 #集合
 #list_1 = [1,4,5,7,3,6,7,9]  #集合也是无序的
 #list_1 = set(list_1)   #list_1化为集合
 #print(list_1,type(list_1))
 #list_2 = set([2,6,0,66,22,8,4])
 #print(list_1,list_2)

 #交集  &
 #print(list_1.intersection(list_2))
 #并集  |
 #print(list_1.union(list_2))#union联合的意思
 #差级 我有你没有,你有我没有的  -
 #print(list_1.difference(list_2))  #保留1里面有的,2里面有没有的
 #子集  我包含你
 #print(list_1.issubset(list_2)) #返回ture false
 #print(list_1.issuperset(list_2))
 #对称差集  ^ 上面的
 #print(list_1.symmetric_difference(list_2))#互相都没有的取出来放到一块
 #print(list_1.isdisjoint(list_2)) #判断有没有交集 返回true false

 #添加一项
 #list_1.add(999)
 #print(list_1)
 #添加多个
 #list_1.update([888,777,555])
 #print(list_1)
 #删除
 #list_1.remove(888) #不用print删除就是删除了
 #list_1.pop()
 #list_1.discard(777)  #删除不会报错
 #长度
 #print(len(list_1))
 #成员使用
 #in not in

4.字符编码

记住一句话,用什么编码写的程序,就用什么编码打开  

 #!/usr/bin/env python
 #_*_coding:utf-8_*_

 #默认编码
 #import sys
 #print(sys.getfilesystemencoding())
 #s = "您好"
 #s_to_unicode = s.decode("utf-8")
 #print(s_to_unicode)
 #s_to_gbk = s.decode("utf-8").encode("gbk")  #(不给值,就是默认)
 #print(s_to_gbk)

5.文件操作

一般r+ w的关闭和打开具有清空文件作用

因为这里功能比较多,所以写入了一个Code里面,后面加了注释。

 #!/usr/bin/env python
 #_*_coding:utf-8_*_

 #文件操作
 #readlines 是将文件读成列表的形式 ,每行就是一个元素  预先读到内存里成列表
 #date = open("yesterday.txt",encoding="utf-8").read()
 #f = open("yesterday.txt",'w',encoding="utf-8")#f 文件句柄,就是这个文件的内存文件对象 w这个写模式是创建文件会覆盖
 #date= f.read()
 #f = open("yesterday.txt",'a',encoding="utf-8") #a 就是追加不覆盖文件
 #ate2 =f.read()#文件指针的这种东西,date2没有内容,文件只读一遍
 #print(date)
 #f.write("我爱北京天安门.......,\n") #斜杠为转义符,\n就是回车
 #f.write("天安门上太阳升......")
 #读前五行
 #f = open("yesterday.txt",'r',encoding="utf-8")
 #print(f.readline())
 #print(f.readline())
 #print(f.readline())
 #for i in range(5):
 #    print(f.readline())
 #for line in f.readlines():  #循环列表,相当于每一行,每一行元素
 #    print(line.strip())
 #print(f.readlines())    #每行一个元素

 #for index,line in enumerate(f.readlines()):   #打印到9行前内容 但是提前读了全文 f.readline适合小文件
 #    if index == 9:
 #        print("___fengexian____")
 #        continue
 #    print(line.strip())

 #count = 0
 #for line in f:   #一行行的读,内存也只读一行信息#打印到9行前内容
 #    if count == 9:
 #         print("fdsfsdfsdfsdf___fengexian____dsfdfdsfdsfs")
 #         count += 1
 #         continue
 #    print(line)
 #    count += 1

 #print(f.read(5))#读五个字符
 #print(f.tell())#告诉你文件句柄的指针打印出来 按字符个数计数
 #f.seek(0)#回到光标的开始位置  0可以是其他前面的会被删除显示
 #print(f.readline())
 #print(f.encoding)#打印文件编码
 #print(f.fileno()) #返回一个编号,一个接口,调用操作系统文件的IO
 #print(f.name)#打印文件名字
 #print(f.isatty())#终端 tty
 #print(f.readable())#判断文件是否可读
 #print(f.writable())#判断文件是否可写
 #print(f.flush())#刷为了解决文件存在内存然后恶意关闭,其实他是有个内存值,当达到了这个值会直接写到硬盘里面
 #f = open("yesterday.txt",'a',encoding="utf-8")

 #print(f.closed) #判断文件是否关闭
 #f.truncate(10)#本意截断的意思 不写就是清空 从10往后截断 还需要跟a配合
 #f.close()

 #文件读写
 #f = open("yesterday.txt",'r+',encoding="utf-8") #以读和追加打开  a+追加读
 ##print(f.readline())
 #print(f.tell())
 #f.write("12456----duiaoi-------")
 #写读
 #f = open("yesterday.txt",'w+',encoding="utf-8") #先创建个文件再追加进去 rb读二进制文件 显示b'就是bytes文件
 #多用于网络传输,进制文件
 #f.write("12456----duiaoi-------")
 #print(f.tell())
 #f.seek(10)
 #print(f.tell())
 #print(f.readline())
 #f.write("wode tian a shenme iqnkguang ")
 #在原文件上的修改必须同字符,不然不能修改会把内容覆盖
 #ru r+u windows上\r回车,linux\n回车为了统一

 #硬盘修改文件方法
 #f = open("yesterday.txt",'r',encoding="utf-8")
 #f_new = open("yesterday.bak.txt",'w',encoding="utf-8")
 #for line in f:
 #    if "年少轻狂" in line:
 #        line = line.replace("年少轻狂","hahaha")
 #    f_new.write(line)
 #f.close()
 #f_new.close()

 #with 语法 可以不需要手动写关闭
 #with open("yesterday.txt",'r',encoding="utf-8") as f:
 #    for line in f:
 #        print(line.strip())
 #同时打开2个文件
 #with open("yesterday.txt",'r',encoding="utf-8") as f,\
 #      open("yesterday.bak.txt",'w',encoding="utf-8") as f_new:



python学习道路(day3note)(元组,字典 ,集合,字符编码,文件操作)的更多相关文章

  1. PYTHON 学习笔记3 元组、集合、字典

    前言 在上一节的学习中.学习了基本的流程控制语句,if-elif-else for while 等,本节将拓展上一节学习过的一些List 列表当中操作的一些基本方法,以及元祖.序列等. 列表扩展 我们 ...

  2. python学习Day7 数据类型的转换,字符编码演变历程

    一.数据类型的转换 1.1.1.字符转列表:lst1 = str.split(默认空格,也可依据指定字符分界),若无分界字符,就没法拆分,这时可以直接放进list转成列表 ----> s1 = ...

  3. python学习之路(2)---字符编码

    二进制编码 bin(300)    python计算二进制编码,十进制转2进制 一个二进制位就是1bit 1bit代表了8个字节,00001111 1bit  = 1bytes   缩写1b 1kb ...

  4. python字符编码-文件操作

    字符编码 字符编码历史及发展 为什么有字符编码 ''' 原因:人们想要将数据存入计算机 计算机的能存储的信息都是二进制的数据 内存是基于电工作的,而电信号只有高低频两种,就用01来表示高低电频,所以计 ...

  5. Python 基础-python-列表-元组-字典-集合

    列表格式:name = []name = [name1, name2, name3, name4, name5] #针对列表的操作 name.index("name1")#查询指定 ...

  6. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  7. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

  8. python学习笔记(一)元组,序列,字典

    python学习笔记(一)元组,序列,字典

  9. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

随机推荐

  1. 启动调试IIS时,vs无法在 Web 服务器上启动调试。Web 服务器未能找到请求的资源。 有关详细信息,请单击“帮助”。

    问题截图 1.检查 是否设置了本地IIS 2.检查IIS端口是否为80 3.默认网站设置是否正确 可参考,查看网站绑定是否正确

  2. python之函数

    本节主要内容: 1. 上节遗留的内置函数: callable(), chr(),ord(), compile(), eval(),exec(), divmod(), isinstance() ,fil ...

  3. Sublime 3 如何设置xftp 保存自动上传

    采用sublime SFTP插件,直接保存CentOS服务器的NodeJS文件,这样调试起来很方便,当然得配上 一直采用File  ->   SFTP/FTP  ->   Setup Se ...

  4. css中background背景属性概

    css中background背景属性概 background:url(背景图片路径)  no-repeat;/*不重复默认在左上方*/background:url(背景图片路径)  no-repeat ...

  5. 史上最简单,一步集成侧滑(删除)菜单,高仿QQ、IOS。

    重要的话 开头说,not for the RecyclerView or ListView, for the Any ViewGroup. 本控件不依赖任何父布局,不是针对 RecyclerView. ...

  6. python习题 (1):login

    #!/uer/bin/env python # _*_ coding: utf-8 _*_ import sys retry_limit = 3 retry_count = 0 account_fil ...

  7. AngularJS的JSONP服务

    有些页面的response中,包含了 Access-Control-Allow-Origin 这个header,说明可以进行跨域请求,如果没有包含这个header的页面可以利用JSONP进行跨域 sc ...

  8. NYOJ题目20吝啬的国度

    -----------------------------------------n-1条边的无向连通图是一棵树,又因为树上两点之间的路径是唯一的,所以解是唯一的.(注意并不一定是二叉树,所以最好采用 ...

  9. HTML表单提交

    <!DOCTYPE html> <!--当前文档为html5--> <html> <head> <!--设置文档编码--> <meta ...

  10. 工欲善其事-Maven介绍与使用

    Maven是什么? Maven是一个项目管理和综合工具.Maven提供了开发人员构建一个完整的生命周期框架.开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期. 在 ...