1、str常用操作

1)字符串的索引与切片

 1 str1 = "python"2 >>> str1[0]   #截取第一个字符3 'p'4 >>> str1[0:2] #截取0-1两个字符5 'py'6 >>> str1[0:4:2]  #截取0-4之间的字符,且步长为27 'pt'8 >>> str1[-1:]  #截取最后一个字符9 'n'
10 >>> str1[::-1]  #倒着截取字符串
11 'nohtyp'

2)capitalize、swapcase、title

1 name = "hello World"
2 print(name.capitalize())    #首字母大写
3 print(name.swapcase())   #大小写反转
4 print(name.upper())   #将所有字符都换成大写
5 print(name.lower())   #将所有字符都换成小写
6 print(name.title())           #每个单词首字母大写

3)center

1 name = "hello world"
2 print(name.center(20,"+"))  #内容居中,指定左右间隔字符,同时可以指定以什么字符进行填充
3
4
5 输出:
6 ++++hello world+++++

4)count

1 name = "hello world"
2 print(name.count("l"))   #统计指定字符出现的次数
3
4
5 输出:
6 3

5)startswith、endswith

1 name = "hello world"
2 print(name.startswith("h"))  #是否以某个字符开头
3 print(name.endswith("d"))   #是否以某个字符结尾
4
5
6 输出:
7 True
8 True

6)find、index

1 name = "hello world"
2 print(name.find("h"))   #返回找到的元素索引,不存在返回-1
3 print(name.index("d")) #返回找到的元素索引,不存在会报错
4
5 输出:
6 0
7 -1
8 10
9 ValueError: substring not found

7)split

1 name = "hello world"
2 print(name.split())   #指定分隔符,将分割的字符串制成列表,默认是以空格分割
3 print(name.split("o"))
4
5 输出:
6 ['hello', 'world']
7 ['hell', ' w', 'rld']

8)format

 1 #format的三种玩法 格式化输出2 res1='{} {} {}'.format('egon',18,'male')3 res2='{1} {0} {1}'.format('egon',18,'male')4 res3='{name} {age} {sex}'.format(sex='male',name='egon',age=18)5 print(res1)6 print(res2)7 print(res3) 8 9 10 输出: 11 12 egon 18 male 13 18 egon 18 14 egon 18 male

9)strip

 1 name = "***hello world**"2 print(name.strip("*"))  #去除字符串左右的指定字符,默认是去除空格,经常是结合input使用3 print(name.lstrip("*"))  #去除字符串左边的指定字符4 print(name.rstrip("*"))  #去除字符串右边的指定字符5 6 7 输出:8 hello world9 hello world**
10 ***hello world

10)replace

1 name = "hello world"
2 print(name.replace("hello","你好"))  #替换字符串
3
4 输出:
5 你好 world

11)is系列

 1 name1 = "hello1"2 name2 = "hello"3 name3 = "123"4 print(name1.isalnum())  #字符由字母或数字组成5 print(name2.isalpha())  #字符串由字母组成6 print(name3.isdigit())  #字符只由数字组成7 8 输出:9 True
10 True
11 True

2、list

 1 #切片2 list1 = [1,2,"hello",3]3 print (list1[1])  #24 print (list1[-1])  #35 print (list1[:2])  #[1,2]6 print (list1[:3:2])  #[1, 'hello']7 8 #增9 #append 在最后追加
10 list1.append('葫芦')
11 list1.append([1,2,3])
12 #insert插入
13 list1.insert(1,"world")
14 #迭代添加
15 list1.extend('Tom')
16 list1.extend('[111,222,333]') 17 18 #删 19 #pop 有返回值 按照索引删除 20 print (list1.pop(0)) 21 #remove 按照指定字符删除 22 print (list1.remove('hello')) 23 #clear 清空列表 24 print (list1.clear()) 25 #del 内存级别删除列表 26 del list1 27 del list1[1] #索引删除 28 del list1[:3] #切片删除 29 30 #改 31 #按照索引修改 32 list1[2] = code 33 print (lit1) 34 #按照切片去修改 35 list1[:2] = 'aaa' 36 print (list1) 37 38 #查 39 #按照索引去查询,按照切片去查询 40 for i in list1: 41 print(i) 42 #通过元素找索引 43 print (list1.index(2)) 44 #sort 排序 45 list1.sort() 从小到大排序 46 list1.sort(reverse=True) 从大到小排序 47 #reverse 列表从右往左排序 48 list1.reverse() 49 50 #列表嵌套 51 list2 = [1,2,'abc',['name','age',123],'qq'] 52 #将abc全部变成大写,放回原处 53 list2[2] = 'ABC' 54 print (list[2].upper()) 55 list2[2] = list[2].upper() 56 #给['name','age',123]追加一个元素‘baidu’ 57 list2[-2].append('baidu') 58 #将age首字母大写 59 list2[-2][1] = list2[-2][1].capitalize() 60 #将123通过数字相加,或者字符串相加变成150 61 list2[-2][-1] = str(list2[-2][-1] + 27)

3、dict

 1     字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。2 3     字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。4 3.6版本之前,字典是无序的,3.6之后字典是有序的。5 dic = {"name":"Tom","age":18}6 7 字典的增:8 dic['li'] = ["a","b","c"] 有则覆盖,无则添加 9 print(dic) 10 # setdefault 在字典中添加键值对,如果只有键那对应的值是none,但是如果原字典中存在设置的键值对,则他不会更改或者覆盖。 11 dic.setdefault('k','v') 12 print(dic) # dic = {"name":"Tom","age":18,"k":"v"} 13 dic.setdefault('k','v1') # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'} 14 print(dic) 15 16 字典的删: 17 print (dic.pop('name')) #返回删除key对应的value值 18 print (dic.pop('name1','没有此key')) 19 print(dic) 20 dic.clear() #清空 21 print (dic) 22 print(dic.popitem()) #随机删除,返回值删除的key,测试3.x版本是从后往前进行删除的,并不是随机删除 23 24 字典的改: 25 dic['name'] = 'boy' 26 print (dic) 27 dic = {"name":"Tom","age":18} 28 dic2 = {"name":boy","job":"IT"} 29 dic2.update(dic) #将dic的键值对覆盖添加到dic2中,dic不变 30 31 字典的查: 32 print (dic['name2']) #查找不存在的key会直接报错 33 print (dic.get('name2','此key不存在')) #可以自定义返回值 34 35 36 字典内置方法 37 #keys() values() items() 38 dic = {'name': 'jin', 'age': 18, 'sex': 'male'} 39 list(dic.keys()) #将key生成到一个列表中 40 for i in dic.keys(): #以列表返回一个字典所有的键 41 print (i) 42 for i in dic.values(): #以列表返回字典中的所有值 43 print (i) 44 for k,v in dic.items(): #以列表返回可遍历的(键, 值) 元组数组 45 print (k,v) 46 47 分别赋值 48 a,b = 1,2 49 如何快速将两个变量值互换 50 a =1 51 b = 5 52 a,b = b,a 53 54 fromkeys() #创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 55 dic1 = dict.fromkeys('abc',[]) 56 dic1['a'].append('Tom') 57 print ('dic1')

4、小数据池,深浅copy

 1 #小数据池2 a = "Tom"3 b = "Tom"4 print (a == b)  #数值5 print (a is b)   #判断是否为同一个内存地址6 #python中是有小数据池的概念7 #int -5~256的相同的数全都指向一个内存地址,节省空间8 #str  s = 'a' * 20以内都是同一个内存地址9
10 #深浅copy
11 a = [1,2,3]
12 b = a   #b和a是共用一个内存地址,改变其中一个值,另外一个也会改变
13 a.append(666)
14 print (a,b)  #[1, 2, 3, 666] [1, 2, 3, 666]
15
16
17 #浅copy
18 l1 = [1,2,3]
19 l2 = l1.copy()
20 l1.append(666)
21 print (l1,l2)    #[1, 2, 3, 666] [1, 2, 3]
22 print (id(l1),id(l2))  #89582728 89581208
23
24 l1 = [1,2,3,[22,33]] 25 l2 = l1.copy() 26 l1[-1].append(666) 27 print(l1,l2) #[1, 2, 3, [22, 33, 666]] [1, 2, 3, [22, 33, 666]] 28 print(id(l1[-1]),id(l2[-1])) #89583208 89583208 29 对于浅copy来说,第一层创建的是新的内存地址,而从第二层开始,指向的都是同一个内存地址,所以,对于第二层以及更深的层数来说,保持一致性。 30 31 #深copy 对于深copy来说,两个是完全独立的,改变任意一个的任何元素(无论多少层),另一个绝对不改变 32 import copy 33 l1 = [1,2,3,[22,33]] 34 l2 = copy.deepcopy(l1) 35 l1[-1].append(666) 36 print(l1,l2) 37 print(id(l1[-1]),id(l2[-1]))

5、数据类型补充

注意:

1、在循环一个列表时,不要对列表进行删除的动作(改变列表元素的个数动作),删除一个数据时,再次循环时数据索引会改变

2、dict 再循环字典时,不要改变字典的大小,删除数据会报错

3、如果元组里面只有一个元素并且没有逗号隔开,那么他的数据类型与该元素一致

1 >>> tu1 = (1)
2 >>> type(tu1)
3 <class 'int'>
4 >>> tu2 = (1,)
5 >>> type(tu2)
6 <class 'tuple'>

运算符 表达式 说明
and a and b 逻辑与,当a为True时才计算b
or a or b 逻辑或,当a为False时才计算b
not not a 逻辑非

非零为true,无论正负

1、 and    与     a  and  b       a为true则计算b,否则返回false

2、 or       或     a  or  b         a为false则计算b,否则返回true

3、 not     非                          加not取反

转载于:https://www.cnblogs.com/watchslowly/p/8934236.html

python学习 day2相关推荐

  1. python学习day2

    python学习day2 一.定义变量和给变量复制的原理 python定义变量的时候: 需要先申请内存,内存申请多大看数据需要多大,然后将数据保存到内存中再和变量进行关联. 重新给变量赋值的时候,会重 ...

  2. Python学习,Day2

    ### Number ( int float bool complex) #int 整型 (正整数 0 负整数) intvar = 123 #type 获取值的类型 res = type(intvar ...

  3. python学习--DAY2

    程序1: name=" (name) 出现错误: C:\Python36\python.exe C:/Users/XX/PycharmProjects/S23/DAY1/VAR.py Fil ...

  4. python学习 day2 (3月2日)

    .if if else和 if elif else 的区别是:前者 判断第一个 判断完第二个 之后还会执行else: 后者是只有满足条件(即都不符合if.elif里的条件时才会进入else)不清楚,有 ...

  5. python学习day2:类与对象

    类与对象 一.内置函数 1.int方法 (1)def__add__(self, y):       #两数相加 """ x.__add__(y) <==> x ...

  6. Python学习day2 while循环格式化输出运算符

    day2 运算符-while循环 1.while循环 while循环基本结构; while 条件: 结果 # 如果条件为真,那么循环则执行 # 如果条件为假,那么循环不执行 debug模式显示每一步运 ...

  7. Python学习day2作业总结

    2019独角兽企业重金招聘Python工程师标准>>> 为了以后更好更快速的复习,此博客记录我对作业的总结.对于基础作业,我认为最重要的是过程,至于实现是不是完美,代码是不是完美,虽 ...

  8. python学习day2,加购物车

    products = [["iphone",6888],["MacPro",14800],["小米6",2499],["Coffe ...

  9. pygame是python的一个库吗,python学习pygame,,基本库导入impor

    python学习pygame,,基本库导入impor 基本库导入 import pygame import sys from pygame.locals import * 初始化 pygame.ini ...

  10. python科学计数法转换_对比Python学习Go 基本数据结构

    公众号文章不方便更新,可关注底部「阅读原文」博客,文章随时更新. 本篇是「对比 Python 学习 Go」[1] 系列的第三篇,本篇文章我们来看下 Go 的基本数据结构.Go 的环境搭建,可参考之前的 ...

最新文章

  1. RedHat 6编译升级vsftpd
  2. POJ3348-Cows【凸包,计算几何】
  3. vba 删除 添加checkbox_如何设置EXCEL输入内容后自动添加边框?
  4. SQL Server-聚焦IN VS EXISTS VS JOIN性能分析(十九)
  5. g++编译支持c++11
  6. Linux brctl 命令,虚拟网络设备 LinuxBridge 管理工具
  7. HTML页面跳转的5种方法
  8. Flink 实时计算 - 进阶篇(如何自定义 Data Source 与 Data Sink)
  9. 搭建2048网页小游戏
  10. 浪潮ps9.0 oracle,浪潮ERP-PS V9.1安装手册.doc
  11. 基于git(分布式版本控制系统)的各种服务器权限工具对比 Gitlab服务器搭建 以及邮箱、LDAP配置 实现公司多人协同开发
  12. scratch3.0-穿越城市的巴士
  13. Reverse-it
  14. 有没有好记一点,c++ ,set容器遍历方法?(看过来)
  15. 电信联通共享检测技术及防封杀
  16. 十多天的鸭子得了心包积液是什么原因鸭摇头晃脑不吃食怎么治疗
  17. 【TV Picture Quality - 03】TV屏幕解读
  18. java 运算顺序 从左到右_Java表达式在进行运算时,同级运算符按从右至左的方向进行。 (5.0分)_学小易找答案...
  19. 《The One 团队》:第九次团队作业:BETA冲刺与团队项目验收
  20. 联想卡在logo界面_联想电脑卡在logo界面 联想电脑卡在载入界面怎么办

热门文章

  1. 《转》常用的正则表达式
  2. Hercules配置文件HERCULES.CNF范本
  3. jQuery中将表格以交替颜色显示
  4. 不是我不想动脑筋,给我一个支点看看——看《编程之美》,玩数独,大有乐趣...
  5. 病毒或木马修改注册表,导执可执行文件无法执行的处理办法
  6. 快速搭建一个本地FTP服务器
  7. 发布的站点自定义端口打不开解决方法
  8. javascript实现浏览器窗口传递参数
  9. 读写分离MYSQL类
  10. C#中的类型转换(转载)