「Python」2020.03.18学习笔记 | 第四章列表、元组、字典-习题(17-18)

  • 学习测试开发的Day76,真棒!
  • 学习时间为1H50M
  • 第四章列表、元组、字典-习题(17-18)

17、使用二分法实现在一个有序列表中查找指定的元素

代码:

def find(list1,word):
    l_min=0
    l_max=len(list1)-1
    while l_min<=l_max:
        mid=int((l_min+l_max)//2)
        if list1[mid]==word:
            return "%d的索引位置是:%d"%(word,mid)
        elif list1[mid]

输出结果:

PS D:\0grory\chapter4> python .\17_findword.py
4的索引位置是:3
6的索引位置是:5
7的索引位置是:6
9的索引位置是:8
-1不在此列表中!

18、分离list1与list2中相同部分与不同部分

代码:

list1=[1,2,3,6,7,8]
list2=[9,0,1,2,3,5]
same=[]
diff=[]
for i in list1:
    if i not in list2:
        diff.append(i)
    for j in list2:
        if i==j:
            same.append(i)
for i in list2:
    if i not in list1:
        diff.append(i)
    

print("相同部分为:"+str(same))
print("不同部分为:"+str(diff))

输出结果:

PS D:\0grory\chapter4> python .\18_same_diff.py
相同部分为:[1, 2, 3]
不同部分为:[6, 7, 8, 9, 0, 5]

19、找出一个多维数组的鞍点,即该位置上的元素在该行上最大,在该列上最小,也可能没有鞍点

鞍点是二维数组中一个特殊的元素,它是本行最大的值,同时又是本列最小的值。

鞍点可能不止一个,也可能没有。

第19题研究了半个多小时还是没有搞出来,明天继续吧!

你可能感兴趣的:(「Python」2020.03.18学习笔记 | 第四章列表、元组、字典-习题(17-18))