python 面试题
Posted mengyu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 面试题相关的知识,希望对你有一定的参考价值。
前段时间面试碰到的一组python面试题,虽然很简单但是特别的基础.
1.Python 如何判断二维数组中是否包含整数?
array = [[1, 3, 5.6, 7.2, 8, 9.9], [2.5, 4.7, 6.8, 7.3, 9, 10], [3.7, 6.7, 9.8, 9.9, 11, 12.1]] for i in array: for j in i: if str(j).isdigit(): # 判断是否是整数还可以通过isinstance(j, int)
print("二维列表中包含整数") break break
2.如何将字符串中的空格转变成为%20?
# 1.通过替换方式实现 >>> str = "how do you do" >>> str.replace(" ", "%20") ‘how%20do%20you%20do‘ # 2.通过编码的方式实现 >>> from urllib import parse >>> parse.quote(str) ‘how%20do%20you%20do‘
3.把列表的重复元素删除?
# 通过set的方式先去重,在转换为列表 >>> list1 = [1, 3, 3, 4, 1, 2] >>> list(set(list1)) [1, 2, 3, 4]
如果第一题变成先生成一个4* 4 的维数组,然后再次去判断是否包含整数,这里我们需要考虑生成数组;
array = [] for j in range(0, 4): array1 = [] for i in range(1, 5): array1.append(i) array.append(array1) print(array)
通过两个for循环就可以生成,虽然简单我们还是满足要求的,下面在增加需求4* 4 的数组,但是要求二维数组中即包含整数又包含小数;
import random array = [] for j in range(0, 4): array1 = [] for i in range(0, 4): radNum = random.randint(0, 100) if radNum % 2 == 0: # 如果是偶数生成1,10之间整数,如果是基数生成一个小数,并且保留2为小数 array1.append(random.randint(1, 10)) else: array1.append(round(random.uniform(1, 10), 2)) array.append(array1)
继续增加复杂度,每行的数值,从左到右数值需要依次增大
import random array = [] for j in range(0, 4): array1 = [] for i in range(0, 4): radNum = random.randint(0, 100) if radNum % 2 == 0: # 如果是偶数生成1,10之间整数,如果是基数生成一个小数,并且保留2为小数 if len(array1) == 0: # 判断当前列表长度是不是0,如果是0,代表列表没有任何元素,那么直接添加元素 element = random.randint(0, 100) array1.append(element) else: element = random.randint(int(array1[-1]) + 1, int( array1[-1]) + 100) # 否则生成的元素一定要大于最后一个元素,并且避免出现最后一个元素和生成随机数的边界值相差太小,同时自动增长100 array1.append(element) else: if len(array1) == 0: element = round(random.uniform(0, 100), 2) array1.append(element) else: element = round(random.uniform(array1[-1] + 1, array1[-1] + 100), 2) array1.append(element) array.append(array1)
以上是关于python 面试题的主要内容,如果未能解决你的问题,请参考以下文章
经验总结:Java高级工程师面试题-字节跳动,成功跳槽阿里!
Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段