嘟嘟社区

python面试题,mjj有多少人能答对


题目:
将“873,282|8” 和“1731,1010” 中的“873” “282” “1731” “1010” 分别提取出来。

提取两个字符串必须用同一段代码完成。

这是我今天遇到的面试题,有多少mjj能写出来呀

s.replace("|8","").split(",")
这…一个正则就搞定了吧
正则呗
d{3,4}
正则就行了
判断数字个数,奇数就减1,偶数不变,然后除2呗
肉眼提取
不会python
看我bash:
cat input|sed -e ‘s/|.*//’|awk -F ‘,’ ‘{print $1,$2}’
本帖最后由 image 于 2021-12-24 03:27 编辑
  1. res = []
  2. o = ”
  3. for i,v in enumerate(str):
  4.     if v.isnumeric():
  5.         o += v
  6.     else:
  7.         res.append(o)
  8.         if v == ‘,’:
  9.             o = ”
  10.         else:
  11.             break
  12.     if i == len(str) – 1:
  13.         res.append(o)
  14. print (res)

复制代码