python面试题(4)
来源:互联网 发布:80和8080端口 编辑:程序博客网 时间:2024/05/24 07:19
question1:
一个1.txt的文件,里面的文件每一行提取数字部分,要求使用yield,提取的数字部分写入一个新的文件当中2.txt。
1.txt中的文件。
a123 234 asd12b234c345d456e567f678g789k123
下面是提取后的结果
2.txt
123 234 12234345456567678789123
代码实现过程如下:
import rea = re.compile("\d+")def change(line): catch = re.findall(a,line) catch = " ".join(catch) yield catcharead = 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等长的listb = list("0"*len(a))print(b)for i in range(len(a),0,-1): b[len(a)-i] = a[i-1]print(b)
阅读全文
0 0
- python面试题(4)
- Python面试题集答案(4)
- Python面试题
- python面试题
- Python面试题集合
- Python面试题集合
- python面试题
- Python面试题集合
- python面试题大全
- python面试题
- Python面试题集
- python 面试题总结
- 华为python面试题
- Python 面试题
- Python面试题集合
- python软件工程师面试题
- Python 面试题集合
- Python面试题
- 通讯录
- Spring Cloud (5) | 配置中心 Config Server 配置git or github or gitlab
- 2014-11-25-RationalRose2003安装
- 一 蓝牙概述
- JFreeChart| JFreeChart问题集锦
- python面试题(4)
- 位运算枚举子集
- 程序员技术练级攻略
- 智能指针
- 学习笔记:yolo识别图片
- java 反射
- HTML ApiCloud混编Android和IOS
- 三级缓存机制
- mysql建立、删除索引及使用