question1:
一个1.txt的文件,里面的文件每一行提取数字部分,要求使用yield,提取的数字部分写入一个新的文件当中2.txt。
1.txt中的文件。
a123 234 asd12
b234
c345
d456
e567
f678
g789
k123
下面是提取后的结果
2.txt
123 234 12
234
345
456
567
678
789
123
代码实现过程如下:
import re
a = re.compile("\d+")
def change(line):
catch = re.findall(a,line)
catch = " ".join(catch)
yield catch
aread = open("1.txt","r")
awrite = open("2.txt","w")
b = aread.readline()
while b:
c = change(b)
b = aread.readline()
for i in c:
awrite.write(i+"\n")
aread.close()
awrite.close()
一点感想:这个题本身并不是很难,可能因为面试官看着在面,所有有些紧张。后来自己一敲,很快就实现了。还是心里素质不太好。要强加练习。
question2:
mylist = [1,2,3,4,5]
##列表反转问题(不能使用reverse函数)
第一种解
b = []
for i in range(len(mylist)-1,-1,-1):
b.append(mylist[i])
print(b)
第二种解
print(mylist[::-1])
第三种解
c = []
d = [c.insert(0,i) for i in mylist]
print(c)
第四种解(这种直接对原来的列表进行了反转)
for i in range(len(mylist)//2):
mylist[i],mylist[len(mylist)-1-i] = mylist[len(mylist)-1-i],mylist[i]
print(mylist)
第五种解法
a = [1,2,3,4,5]
#法1:用copy的方法
# b = a.copy() 可以用copy的方法
#法2:直接创建一个和a等长的list
b = list("0"*len(a))
print(b)
for i in range(len(a),0,-1):
b[len(a)-i] = a[i-1]
print(b)
495

被折叠的 条评论
为什么被折叠?



