- 学习测试开发的Day93,真棒!
- 学习时间为1H20M
- 第九次全天课(上午视频0-50M)
题目1 将一个字符串中的所有重复字符去掉,只保留重复出现字符的最后一个
自己的
代码:
s="aaaabbbbcccc"
ls=list(s)
ls1=ls
result=[]
for i in ls1:
if i not in result:
result.append(i)
print("".join(result))
输出:
PS D:\0grory\day9> python .\1cf.py
abc
PS D:\0grory\day9>
老师讲解的
算法
1.字符串不可改变:1)拼接 2)list
list("abcba cc")
s=list(s)
>>> list("abc")
['a', 'b', 'c']
>>> "".join(list("abc"))
'abc'
>>>
2.声明一个新变量,用一个空列表存储计算后的结果
result=[]
3.遍历:1)直接取 2)基于坐标
for i in [1,2,3]:
print(i)
这种遍历只能取,不能修改数据
for i in range(len(s)):
s[i]
序列:列表、元祖、字符串--->有顺序,可以使用坐标,坐标从0开始
s=["a","b","c"]
s[0]="x"
>>> list("abcba cc")
['a', 'b', 'c', 'b', 'a', ' ', 'c', 'c']
>>>
基于坐标取每一个元素,取出来后,判断这个坐标后面的所有元素中是否还包含和此元素相同的值,如果包含忽略
如果不包含,我就保存在result中
for i in range(len(s)):
if s[i] in s[i+1:]:
continue
else:
result.append(s[i])
print("".join(result))
完整版代码:
s="abcba cc"
s=list(s)
result=[]
for i in range(len(s)):
if s[i] in s[i+1:]:
continue
else:
result.append(s[i])
print("".join(result))
输出:
PS D:\0grory\day9> python .\1t.py
ba c
PS D:\0grory\day9>
题目2 将一个字典中的所有内容存到一个列表中,且格式为一个key一个value
自己的
代码:
mydict1={"a":1,"b":2,"c":3,"d":4}
print(mydict1)
result=[]
for k,v in mydict1.items():
result.append(k)
result.append(v)
print(result)
输出:
PS D:\0grory\day9> python .\2dict_to_list.py
{'b': 2, 'a': 1, 'c': 3, 'd': 4}
['b', 2, 'a', 1, 'c', 3, 'd', 4]
PS D:\0grory\day9>
老师的
模型
- 输入:要处理计算的数据
- 存储:存到变量、文件、数据库
- 计算:用算法来实现(解决问题的步骤)
- 存储:存储计算的必要过程和计算的结果
- 输出:打印你的结果,存入文件、数据库
d={1:"a",2:"b",3:"c"} #d[0]
l=[1,2,3,4]--->用序号l[0]
代码:
d={1:"a",2:"b",3:"c"}
result=[]
for k,v in d.items():
result.append(k)
result.append(v)
print(result)
输出:
PS D:\0grory\day9> python .\2t.py
[1, 'a', 2, 'b', 3, 'c']
PS D:\0grory\day9>
文件
文件:存在磁盘上,硬盘上,U盘,云盘
持久化
ram:随机访问存储器,掉电之后,数据不在了
rom:磁盘存储器。掉电之后,数据还在。
IO
缓存 《深入分布式缓存》
操作文件:
- 打开->指定模式->指定文件的编码(默认)
- 读取或者写入(追加写)
- 关闭文件
fp=open("e:\\a.txt","w",encoding="utf-8")
fp.write("光荣之路")
fp.close()
对象是包含了一些数据,和操作这些数据的方法
fp是指向文件的一个对象,包含了所有操作文件的方法
输出:
PS D:\0grory\day9> python
Python 3.5.2 |Continuum Analytics, Inc.| (default, Jul 5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> fp=open("e:\\a.txt","w",encoding="utf-8")
>>> fp.write("光荣之路")
4
>>> ^Z
PS D:\0grory\day9>
4是写入的字符数
终于学到文件啦,开心!