【主要内容】

1. 补充基础数据类型的相关知识点
1. str. join() 把列表变成字符串
2. 列表不能再循环的时候删除. 因为索引会跟着改变
3. 字典也不能直接循环删除.
把要删除的内容记录在列表中. 循环列表. 删除原列表, 字典中的数据
4. fromkeys() 不会对原来的字典产生影响. 产生新字典(神坑, 考试)
5. set集合. 不重复, 无序.
6. 想转换成什么.就用什么括起来
7. 深浅拷贝
1. 直接赋值. 两个变量指向同一个对象.
2. 浅拷贝:只拷贝第一层内容. copy()
3. 深度拷贝: 对象中的所有内容都会被拷贝一份
import copy
copy.deepcopy()

【代码】

1、list删除

 # lst = ["我不是药神", "西游记", "西红柿首富", "天龙八部"]
#
# # lst.clear()
# # list在循环的时候不能删. 因为会改变索引
# del_lst = []
# for el in lst:
# del_lst.append(el) # 记录下来要删除的内容
#
# for el in del_lst: # 循环记录的内容
# lst.remove(el) # 删除原来的内容
# print(lst) # lst = ["周杰伦", "周润发", "周星星", "马化腾", "周树人"]
# 删除掉姓周的人的信息
# del_lst = []
# for el in lst:
# if el.startswith("周"):
# del_lst.append(el)
#
# for el in del_lst:
# lst.remove(el)
# print(lst) # 字典也不能在循环的时候更改大小
# dic = {"a":"123", "b":"456"}
# for k in dic:
# dic.setdefault("c", "123") # a = dict.fromkeys(["jj", 'jay', 'taibai'], "sb") # 静态方法 # dic = {"a":"123"}
# s = dic.fromkeys("王健林", "思聪" ) # 返回给你一个新字典
# print(s)

2、set集合

 # s = set() # 空集合
# dic = dict()
# s = str()
# i = int()
# lst = list()
# print(i) # s = {"王者荣耀", "英雄联盟", "王者荣耀", 123, True, True}
# print(s)
# s = {123, {1,2,3}} # 不合法
# print(s) # lst = ["张强", "李强", "王磊", "刘伟", "张伟", "张伟", "刘洋", "刘洋"]
# s = set(lst) # 去重复
# print(s)
#
# # 变回来
# lst = list(s)
# print(lst)

3、深浅拷贝

 # lst1 = ["金毛狮王", "紫衫龙王", "白眉鹰王", "青衣服往"]
# lst2 = lst1 # 列表, 进行赋值操作. 实际上是引用内存地址的赋值. 内存中此时只有一个列表. 两个变量指向一个列表
#
# lst2.append("杨做事") # 对期中的一个进行操作. 两个都跟着变
# print(lst2)
# print(lst1) # 浅拷贝 copy 创建新对象
# lst1 = ["赵本山", "刘能", "赵四"]
# # lst2 = lst1.copy() # lst2 和lst1 不是一个对象了
# lst2 = lst1[:] # 切片会产生新的对象
# lst1.append("谢大脚")
# print(lst1, lst2)
# # print(id(lst1), id(lst2)) # lst1 = ["超人", "七龙珠", "葫芦娃", "山中小猎人", ["金城武", "王力宏", "渣渣辉"]]
# lst2 = lst1.copy() # 拷贝. 浅拷贝 拷贝第一层
#
# lst1[4].append("大阳哥")
#
# print(lst1, lst2)
# 深拷贝 import copy
lst1 = ["超人", "七龙珠", "葫芦娃", "山中小猎人", ["金城武", "王力宏", "渣渣辉"]]
lst2 = copy.deepcopy(lst1) # 把lst1扔进去进行深度拷贝 , 包括内部的所有内容进行拷贝
lst1[4].append("大阳哥")
print(lst1, lst2) # 为什么要有深浅拷贝
# 拷贝比创建对象的过程要快

4、作业与练习

 #******************上次作业*****************
'''
#1、评委打分,要求在5——10之间
i=1
while i<11:
fen=input("请评委%d打分:" % i)
if int(fen)>5 and int(fen)<10:
print("OK的分数")
else:
print("不在范围的打分")
continue
i = i+ 1 #2、
lst=["斤瓶酶","解救吾先生","美国往事","西西里的美丽传说"]
dic={}
for el in lst:
fen=input("请给%s电影进行打分:" % el)
dic[el]=int(fen)
print(dic) #3、读数
dic={
"-":"负",
"1":"yi",
"2":"er",
"3":"san",
"4":"si",
"5":"wu",
"6":"liu",
"7":"qi",
"8":"ba",
"9":"jiu",
"0":"ling",
".":"dian"
}
content=input("请输入一个数:")
for c in content:
print(dic[c],end=" ")
else:
print()
print("你好啊") #4、求取主播的工资平均值并干掉低于平均值的主播
zhubo={"卢本伟":99999,"冯提莫":140000,"陈一发儿":150000,"金老板":5000}
sum=0
for value in zhubo.values():
sum=sum+value
print(sum/len(zhubo)) avg=sum/len(zhubo)
lst=[]
# 不允许在循环中删除字典中的key
for k,v in zhubo.items():#循环记录要删除的key
if v < avg:
lst.append(k)#列表保存要删除的key
for el in lst:
zhubo.pop(el)
print(zhubo) #**********************今天练习***********************
#循环删除列表里的元素
lst=["我不是药神","西游记","西红柿首富","天龙八部"]
del_list=[] #建立一个要删除的元素空列表
# list在循环的时候不能删,因为会改变索引
for el in lst:
del_list.append(el) #记录下要删除的内容
for el in del_list: #循环记录内容
lst.remove(el) #删除原来的内容
print(lst) lst=["周树人","周润发","周杰伦","周星星","马化腾","周大大"]
del_list=[]
for el in lst:
if "周"in el:
del_list.append(el)
else:
pass
for el in del_list:
lst.remove(el)
print(lst)
'''

python学习Day7--字符串操作的更多相关文章

  1. [Python] Python 学习 - 可视化数据操作(一)

    Python 学习 - 可视化数据操作(一) GitHub:https://github.com/liqingwen2015/my_data_view 目录 折线图 散点图 随机漫步 骰子点数概率 文 ...

  2. Python中的字符串操作总结(Python3.6.1版本)

    Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...

  3. python入门7 字符串操作

    字符串操作 #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 字符串操作 ""&quo ...

  4. 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况

    一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...

  5. 【Python自动化Excel】Python与pandas字符串操作

    Python之所以能够成为流行的数据分析语言,有一部分原因在于其简洁易用的字符串处理能力. Python的字符串对象封装了很多开箱即用的内置方法,处理单个字符串时十分方便:对于Excel.csv等表格 ...

  6. python学习之“切片操作从入门到精通”

    在python学习开发的过程中,我们总是不断的要对List(列表),Tuple(元组)有取值操作:假如我们有一个列表List1现在想取出1其中的前5个元素,改怎么操作呢? >>> L ...

  7. python 学习笔记 redis操作

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

  8. Python学习笔记-字符串

    Python之使用字符串 1.所有的标准序列操作(索引,分片,乘法,判断成员资格,求长度,取最小值,最大值)对字符串同样适用.但是字符串都是不可变的. 2.字符串格式化使用字符串格式化操作符即%. f ...

  9. python学习笔记:文件操作和集合(转)

    转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...

  10. python学习:字符串

    字符串 #字符串操作# 对应操作:# 1.重复输出字符串# print('hello'*2)# 2.[],[:]通过索引获取字符串中字符,这里和列表的切片操作是相同的,具体内容见列表#print('h ...

随机推荐

  1. 洛谷$1541$ 乌龟棋 线性$DP$

    Luogu   CH Sol f[i]表示走到第i个格子时获得的最大分数 发现转移与各个爬行卡片的数量有关,一共只有4种卡片 所以就把这四种卡片的已使用张数也放进状态,f[i][a][b][c][d] ...

  2. 【一起学源码-微服务】Ribbon 源码二:通过Debug找出Ribbon初始化流程及ILoadBalancer原理分析

    前言 前情回顾 上一讲讲了Ribbon的基础知识,通过一个简单的demo看了下Ribbon的负载均衡,我们在RestTemplate上加了@LoadBalanced注解后,就能够自动的负载均衡了. 本 ...

  3. Python 中 unittest 单元测试框架中需要知识点

    现在正在使用 unittest 框架,我们来记录下这个框架的知识点: unittest 框架:我们在写接口用例的时候,会继承 unittest 当中的 TestCase 的类和方法,私有方法除外,来识 ...

  4. spring cloud微服务快速教程之(四)熔断器(Hystrix)及其工具(Dashboard、Turbine)

    0-为什么需要熔断器 在分布式系统中,各个服务相互调用相互依赖,如果某个服务挂了,很可能导致其他调用它的一连串服务也挂掉或者在不断等待中耗尽服务器资源,这种现象称之为雪崩效应: 未来防止系统雪崩,熔断 ...

  5. 现代主流框架路由原理 hash、history的底层原理

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 突破CRUD | 简单优雅的代码生成工具诞生记(万字长文慎入)

    0.学习本文你或许可以收获 1.一个需求从产生.分析到解决的全过程思考2.简单的面向对象分析实践3.UML类图实践4.设计模式的实践应用5.最后收获一款还算不错的代码生成工具实现思路和源代码 本文将从 ...

  7. Vuex入门实践(上)

    一.前言 vuex被称为是专为vue应用程序开发的的状态管理模式.它的作用使用一句话描述就是:让组件之间可以共享数据 话不多少,先抛开概念,我们写一个简单的示例感受一波. 二.项目开发环境 项目开发环 ...

  8. Redis-CAP定理和BASE理论(二)

    CAP理论概述 1998 年来自柏克莱加州大学的计算机科学家 埃里克.布鲁尔(Eric Brewer) 提出分布式系统的三个基本指标:Consistency(一致性).Availability(可用性 ...

  9. 【转】Spring面试问题集锦

    Q. 对于依赖倒置原则(Dependency Inversion Principle,DIP),依赖注入(Dependency Injection,DI)和控制反转(Inversion of Cont ...

  10. ArcGIS Server for JavaScript 3.3 的安装部署

    一.安装包下载 首先从官网下载ArcGIS API for JavaScript 3.3 的API和SDK,地址:http://support.esrichina.com.cn/2011/0223/9 ...