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. 十一. 一步步破解JEB 2.0demo版一

    字符串解密算法还愿 jeb.jar为核心功能,所以主要分析这个 1. jar转dex在使用jeb分析 Android\sdk\build-tools\23.0.3 dx.bat --dex --out ...

  2. ecshop二次开发常用文件位置

    语言包修改: /language/zh_cn/admin/common.php 商品详情页模板: /themes/**/goods.dwt  (最下方有changePrice() 点选属性或改变数量时 ...

  3. Qt:正则表达式语法:

         正则表达式是验证输入.从输入中提取数据以及对输入进行搜索和替换的强大工具,所谓正则表达式,regexp是一种利用模式匹配语言来描述字符串组成限制条件的方式;        Qt 提供了一个Q ...

  4. 关于git的简单实用命令

    时代在进步啊,现在已经不是svn的时代了,好多人都在使用git.所以自己也稍微学习了下git的使用. 常见的通过git提交代码步骤: git status :查看文件状态 :该命令显示你工程内修改的所 ...

  5. Frame创建窗体实例

    public class Test { public static void main(String[] args) { // TODO Auto-generated method stub Fram ...

  6. ASM:《X86汇编语言-从实模式到保护模式》第16章:Intel处理器的分页机制和动态页面分配

    第16章讲的是分页机制和动态页面分配的问题,说实话这个一开始接触是会把人绕晕的,但是这个的确太重要了,有了分页机制内存管理就变得很简单,而且能直接实现平坦模式. ★PART1:Intel X86基础分 ...

  7. windows 8下配置PLSQLDeveloper

    Win 8 64位系统上安装64 位Oracle,但是没有64位的PL/SQL,不能连接Oracle数据库,怎么办呢?方法是有的:我们可以通过安装32位的Oracle客户端来实现连接. 工具/原料 P ...

  8. 计算机网络中的帧封装(C实现)

    这段时间开始复习计算机网络,看到帧封装这一节,结合以前的课程设计,就用C写了个帧封装的程序,说实话C学的确实不怎么样,实现的时候对于文件操作那部分查了好多资料,下面说说帧封装是啥情况. 学过计算机网络 ...

  9. 算法系列:kmp

    作者: 阮一峰 日期: 2013年5月 1日 字符串匹配是计算机的基本任务之一. 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另 ...

  10. [Repost]Events and Signals in PyQt4

    Reference:http://zetcode.com/gui/pyqt4/eventsandsignals/ Events and Signals in PyQt4 In this part of ...