元组 #组内元素可读,不能被改变

tup1=() #空元组

tup2=(1,) #一个元素后添加逗号

嵌套列表

a = [[1,2,3],'lyyyyy',4,(2,3,4)]

b = a[0]    b[0] = 1  →  a[0][0] = 1

小技巧

1、if  s.isdigit():s = int(s)  #判断为数字后,转换类型

2、for   i   in   list:

print(list.index(i),i)   #打印list中的索引值和对应的内容

3、for i,v in enumerate(列表,从第几个序列开始):   print(i,v)    #打印出需要的序列和对应的内容

4、len(s)   #判断字符串的长短

5、print  ('I am %s'%(变量名))  #使用占位符打印一行

6 、s.pop() #默认返回最后一个值,通常用来计数列表个数

7、[ ] 空列表可以充当购物车      id()  #用来找地址

8、for i in range(0,len(a)):    #购买相同的物品数量输出

c=products_cart.count(a[i][0])   #遍历列表,计数

if c>=1:

print(a[i][0],"*",c,end=",")

Ø购物车的实现

字典(唯一映射关系)

特点:1、无序储存  2、key必须是可哈希的(不可修改,唯一)

不可变类型:整形、字符串、元组

可变类型:列表、字典

操作方法:

1、增加

dic1 = {'name':'lyyy'}

dic1 =  ['age'] = 18

ret  =  dic1.setdefault('age',34)    结果:ret = {'name':'lyyy' , 'age':18}   #如果原有相同的key则不变更原有的值,反之则添加新的键值对

2、查找

dic1 = {'name':'lyyy'}

print(dic1['name']) #通过key去查找

print(list(dic1.keys()))  #查找所有的key,并以列表的形式展现

print(list(dic1.values())) #查找所有的值,并以列表的形式展现

print(list(dic1.items()))   #查找所有的键值对,并以列表的形式展现

3、改

dic1 = {'name':'lyyy','height':168}

dic1  ['name']= 'yzqqqq'   #取出来赋新值

dic1 = {'name':'lyyy','height':168}

dic2 = {'name':'yzzzzzq','gender':'male'}

dic1.update(dic2)

print(dic1)       结果:{'name': 'yzzzzzq', 'height': 168, 'gender': 'male'}      #若用来添加的key和原有的key一样,则更新新值;若无相同的key,则补充进去

4、删除

dic1 = {'name':'lyyy','height':168}

del  dic1['name']  #删除该项    del dic1 #从内存中删除

dic1.clear()  #清空

dic1.pop()   #删除并返回相应值

a = dic1.popitem()print(a,dic1)#随机删除,并以元组的方式返回

5、其他

初始化

dic1 = dict.fromkeys(['host1','host2'],'test')

print(dic1)                                    结果:{'host1': 'test', 'host2': 'test'}

6、字典嵌套

guangdong_province={'广州市':{'天河区':{'华农','华师','华工'},'海珠区':{'广州塔','大剧院','广图'},'番禺区':{'大学城','广州南站','美食街'}

},'东莞市':{'塘厦镇':{'yzqDD家','yzq打球场','yzq剪头发地'},'虎门镇':{'威远炮台','好吃的','食品学院plxjj的家'}

},'湛江市':{'霞山区':{'ly靓女家','鼎盛广场','海滨公园'},'赤坎区':{'金沙湾','一中','湛江博物馆'},'开发区':{'二中','海关','海湾大桥'}

}

}

7、排序

dic={5:'111',2:'666',4:'444'}

sorted(dic.keys())

sorted(dic.items())

8、字典遍历

dic  =  {'name': 'yzzzzzq', 'height': 168, 'gender': 'male'}

方法一:for  i  in  dic:

print(i,dic[i])    #打印键值对

方法二:for  i,v  in  dic.items():

print(i,v)       #item里有两个参数,分别取出

◊ 三级菜单的实现(可以一层层进入和返回)

menu = {

'广东省':{

'广州市':{

'天河区':{'华农','华师','华工'},

'海珠区':{'广州塔','大剧院','广图'},

'番禺区':{'大学城','广州南站','美食街'}

},

'东莞市':{

'塘厦镇':{'yzqDD家','yzq打球场','yzq剪头发地'},

'虎门镇':{'威远炮台','好吃的','食品学院plxjj的家'}

},

'湛江市':{

'霞山区':{'ly靓女家','鼎盛广场','海滨公园'},

'赤坎区':{'金沙湾','一中','湛江博物馆'},

'开发区':{'二中','海关','海湾大桥'}

}

},

'广西省':{

'南宁市':{

'清秀区':{'清','秀'},

'江南区':{'江','南'}

},

'柳州市':{

'柳城':{'螺蛳粉','好吃的'},

'龙城':{'龙','城'}

}

}

}

current_layer = menu

father_layer = [] #父集

while True:

for key in current_layer:

print(key) #打印current_layer的key #唯一的输出

choice = input('请输入要查询的地区:').strip()

if len(choice) == 0:

continue

if choice in current_layer:

father_layer.append(current_layer) #记下父级

current_layer = current_layer[choice] #更替子级

elif choice == 'back':

if father_layer: #非空即为真,则执行

current_layer = father_layer.pop() #将下一次循环要打印key的current_layer更替成父集的删除返回值

#并且取最后一个值

#pop()通常用来取最后一个值

else:

print('查无此地') #不管那一层循环输入错误都会提示

字符串的操作

1、print('123446'*2)#重复打印

2、print('1231785', [2: ]) #切片

3、print('123' in '12345')  True  #关键字in

4、' 连接物 ' . join([a,b])  # 以连接物把 a,b 连接起来;若无连接物,则为紧贴链接

5、string.count()   #计数

6、string.capitalize()  #首字母大写

7、string.center(50,'-')   ----------string----------- #以特殊字符居中

8、string.endswith('edbyy')   #以某个字符串结尾

9、string.startswith('bxtqiu')  # 以某个内容开头

10、string.expandtabs(tabsize = 10) # 把tab '\t' 转成空格

11、string.find('t') #查找某个字符串中的元素,并返回其索引值

12、string = 'Hello {name}'

string.format_map( { 'name' : 'ly' } )   结果:Hello ly    #格式化输出,采用字典

13、string.isalnum()  #包含数字和字母则返回True

14、string.iscecmal()  #判断是否是十进制的数值

15、string.isdigit() #判断是否为数字

16、string.isalpha()  #判断是否为字母

17、string.isidentifier() #检验变量名是否合法

18、string.islower()  #判断是否全为小写

19、string.isupper()  #判断是否全为大写

20、string.isspace() #判断是否为空格

21、string,istiltle()  #判断是否为标题(首字母大写)

22、string.lower()   #全变为小写

23、string.upper()   #全变为大写

24、string.swapcase()   #大写变为小写,小写变大写

25、string.ljust(50,' - ')  #居左

26、string.rjust(50,' - ') #居左

27、string.strip()  #去掉字符串左右的空格,换行符

28、string.replace('去掉的内容','替代的内容',替换的次数)  #替代

29、string.split('  以字符串中的某个元素进行分割 ',分割次数)    #分割,分割符消失

导入系统时间

import datetime

time = datetime.datetime.now().data()   例:2020-7-12

字符编码

1、二进制 → ASCII(py2)→ gbk2312→ gbk10→ gb18030→ unicode(utf-32  4个字节    utf-16  2/2个以上字节  utf-8 中文3个字节,英文用ASCII存)(py3)

2、GBK  ← 解码  Unicode   ← 编码 JPK

3、encode在编码的同时,会把数据转成bytes字节类型;decode在解码同时,把字节转成字符串

文件操作(能调用方法的一定是对象)

1、f = open('文件名', 'r' )   #打开文件

2、f = open('文件名', 'a' )#尾部追加,不清空原有的内容

3、data = f.read(5)   #默认全取,或取几个字符

4、f = open('文件名', 'w' )  #可读模式,清空原有文件的内容,或创建新的文件

f.write('hello  lyyy')  #清空再写

5、f.close()  #一定要关闭文件,这样内容才会被刻进硬盘里

6、f.fileno()  #返回特殊的非0整形

7、import  time

time.sleep(50)  #程序运行50秒

8、f.readline() #打印第一行内容,重复则接着打印下一行,光标会跟着移动

9、f.readlines() #由每一行字符串组成的列表

for i in  f.readlines()

print( i.strip())  #去掉print带来的自动换行

10、for i in  f : print(i)    #通常打开文件用这个办法,储存在迭代器里,不存在内存里,需要用的时候再取出来

11、f.tell()   #默认光标的位置在初始,实时定位光标的位置(英文字符占1个位置,中文3个)

12、f.seek(0)  #调整光标的位置到某个地方

13、f.flush()  #把缓存的数据实时转到硬盘上

14、f.truncate(5)  #把光标移动到第五个位置,顺便把后面的全删了

15、f.isatty()  #确定是否为终端

16、f = open('文件名','r+')  #读写模式,光标在起始位置

17、f = open('文件名','w+')  #写读模式,清空原有的内容再写

18、f = open('文件名','a+')  #读写模式,光标在末端位置

(呜呜呜呜呜呜,好痛苦的一次总结!太多了!这就是懒惰的恶果!!!!!下次再也不这样了!!)

python sub 第三次_Python学习的第三次的总结相关推荐

  1. python第三章_Python学习(第三章)

    一. 转义字符1. \t 使输出垂直方向保持对齐 #\t 在控制台输出一个制表符,是输出垂直方向保持对齐 print("1 2 3")print("10 11 12&qu ...

  2. python游戏编程网课_Python 学习最佳方式_创建游戏_编程一个机器人

    Python 是世界上功能最多且最强大的编程语言之一.使用 Python,你可以编写自己的应用程序,创建游戏.设计算法.甚至编程一个机器人.学习 Python 还可以担任软件工程师.Web 开发人员. ...

  3. python初学火车座位判断_Python学习第三课 判断(if)语句

    判断(if)语句 目标 ● if 语句体验 ● if 语句进阶 ● 综合应用 01. if 语句体验 1.1 if 判断语句基本语法 在Python中,if 语句就是用来进行判断的,格式如下: if ...

  4. python一般的类有三部分组成_Python学习笔记总结(三)类

    一.类简单介绍 1.介绍 类是Python面向对象程序设计(OOP)的主要工具,类建立使用class语句,通过class定义的对象. 类和模块的差异,类是语句,模块是文件. 类和实例 实例:代表程序领 ...

  5. 以下()不是python的数值运算操作符_Python学习(三)——Python的运算符和数值、字符的类中方法...

    Python开发IDE PyCharm,eclipse PyCharm的基础用法 全部选中后 Ctrl+?全部变为注释 运算符 结果为值的运算符 算术运算符: + - * / % // ** 赋值运算 ...

  6. 88是python语言的整数类型_Python学习系列之数据类型(三)

    一.Python中的数据类型 常用数据类型: 整数类型:int 浮点类型:float 布尔类型:bool(True,False) 字符串类型:str 1.整数类型: 英文未integer,简写为int ...

  7. python基本随机生成函数_Python学习笔记(三):随机生成函数方法

    本文是在Python2下总结! Python中的random模块用于生成随机数,如果想生成随机数需要先导入random的模块然后才能使用其中的方法,下面简单介绍一下常用的结果函数方法: 1·.rand ...

  8. python小括号报错_Python学习记录:括号配对检测问题

    Python学习记录:括号配对检测问题 一.问题描述 在练习Python程序题的时候,我遇到了括号配对检测问题. 问题描述:提示用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确, ...

  9. python组合数据类型有哪些_Python学习之组合数据类型

    一.概述 计算机不仅仅要对单个变量表示的数据进行处理,还需要对一组数据进行批量处理.如: 给定一组单词{python,data,function,list,loop},计算并输出每个单词的长度. 给定 ...

最新文章

  1. 【简明书】机器学习用例书册
  2. 图片上传之FileAPI与NodeJs
  3. C语言精要总结-指针系列(二)
  4. 接口映射的实现及原理
  5. 排除网络故障课后习题参考答案
  6. java byte转bigdecimal_Java BigDecimal byteValueExact()用法及代码示例
  7. python3用list实现栈
  8. Struts2学习笔记1
  9. Oracle数据库自动存储管理(ASM)
  10. Charbonnier Loss
  11. 洛谷 P1330 封锁阳光大学 二分图染色
  12. LR中Action,Transaction,Rendezvous,SubmitData的插入顺序请注意
  13. Xorg可以使用hot-plug了,不过配置很麻烦
  14. HDOJ:1533-Going Home(最小费用流)
  15. 谭浩强《C语言程序设计第五版》第一章学习笔记
  16. luogu P1338 末日的传说
  17. ipad开发对表格视图的基本实现
  18. TCP/IP详解卷1:第十四章 DNS 域名系统
  19. List集合去重方法
  20. linux蓝牙接收文件路径,Linux 蓝牙系列(3) 蓝牙传输文件测试

热门文章

  1. BZOJ 4242 水壶(BFS建图+最小生成树+树上倍增)
  2. android studio shell 命令行自动打包(mac 平台)
  3. Linux网络监控工具nethogs
  4. CNN中的卷积核及TensorFlow中卷积的各种实现
  5. System.Diagnostics.Process.Star的用法
  6. Nodejs之view中的视图模板之——EJS模板语言,快速入门
  7. “3D几何与视觉技术”全球在线研讨会(9月2日到12月16日)
  8. 【机器学习】机器学习从零到掌握之五 -- 教你使用归一化数值准备数据
  9. 【EI会议】 2021年图像处理与智能控制国际学术会议(IPIC 2021)
  10. 腾讯员工晒出薪资:真实 985 毕业薪资,大家看我还有救吗?网友:日薪?