鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: 冬雪雪冬

[技术交流] Python:每日一题 141

[复制链接]
发表于 2018-1-15 20:55:26 | 显示全部楼层
  1. list1= [[11,  3,  5,  6,  9],
  2.         [12,  4,  7,  8, 10],
  3.         [10,  5,  6,  9, 11],
  4.         [ 8,  6,  4,  7,  2],
  5.         [15, 10, 11, 20, 25]]
  6. list2=[]
  7. list3=[]
  8. list4=[]
  9. for i in range(5):
  10.     list2.append([])
  11.     rmax= max(list1[i])
  12.     list3.append(rmax)
  13.     for j in list1:
  14.        list2[i].append(j[i])
  15. for t in range (5):
  16.     cmin= min(list2[t])
  17.     list4.append(cmin)
  18. for row in range(5):
  19.     for clo in range(5):
  20.         if list3[row]==list4[clo]:
  21.             print("第%s行,第%s列,值是%s"%(row+1,clo+1,list3[row]))
  22.    

  23.   
  24.            
  25.    
  26.    
  27.            
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-15 22:00:49 | 显示全部楼层
  1. list1= [[11,  3,  5,  6,  9],
  2.         [12,  4,  7,  8, 10],
  3.         [10,  5,  6,  9, 11],
  4.         [ 8,  6,  4,  7,  2],
  5.         [15, 10, 11, 20, 25]]

  6. for row in list1:
  7.     temp = []
  8.     num = max(row)
  9.     i = row.index(num)
  10.     for row2 in list1:
  11.         temp.append(row2[i])
  12.     if num == min(temp):
  13.         print("第%d行, 第%d列, 值为%d"%(temp.index(num)+1,i+1,num))

复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-15 22:48:04 | 显示全部楼层
list1= [[11,  3,  5,  6,  9],
        [12,  4,  7,  8, 10],
        [10,  5,  6,  9, 11],
        [ 8,  6,  4,  7,  2],
        [15, 10, 11, 20, 25]]
list2=[]
for tt in list1:
    i=tt.index(max(tt))
    for o in list1:
        list2.append(o[i])        
    if max(tt)==min(list2):
        print(max(tt))
    else:
        list2=[]

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-17 09:24:26 | 显示全部楼层
代码如下
  1. for item in list1:
  2.     ind = item.index(max(item))
  3.     temp = 1 if min([t[ind] for t in list1]) == item[ind] else 0
  4.     if temp:
  5.         print(list1.index(item)+1, ind+1, item[ind])
  6.         break
复制代码

结果:
  1. 4 1 8
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-17 12:37:31 | 显示全部楼层
from builtins import range
list1= [[11,  3,  5,  6,  9],
        [12,  4,  7,  8, 10],
        [10,  5,  6,  9, 11],
        [ 8,  6,  4,  7,  2],
        [15, 10, 11, 20, 25]]

for i in range(len(list1)):
    indexmin = list1[i].index(min(list1[i]))
    list2=[]
    for index in range(len(list1)):
        list2.append(list1[index][indexmin])
    if(max(list2)==list1[i][indexmin]):
        print('符合条件的数字为第%d行第%d列'%(i+1,indexmin+1),list1[i][indexmin])

for i in range(len(list1)):
    indexmax = list1[i].index(max(list1[i]))
    list2=[]
    for index in range(len(list1)):
        list2.append(list1[index][indexmax])
    if(min(list2)==list1[i][indexmax]):
        print('符合条件的数字为第%d行第%d列'%(i+1,indexmax+1),list1[i][indexmax])


符合条件的数字为第5行第2列 10
符合条件的数字为第4行第1列 8

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-17 17:46:16 | 显示全部楼层
list1 = [[11,3,5,6,9],
         [12,4,7,8,10],
         [10,5,6,9,11],
         [8,6,4,7,2],
         [15,10,11,20,25]]
list2 = []
list3 = list(zip(list1[0],list1[1],list1[2],list1[3],list1[4]))
list4 = []
for i in range(5):
    max1 = max(list1[i])
    l = list1[i].index(max1)
    min1 = min(list3[l])
    if max1 == min1:
        print("第%d行,第%d列,值为%d!" % (i+1,l+1,min1))

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-19 11:15:41 | 显示全部楼层
本帖最后由 776667 于 2018-1-19 11:20 编辑
  1. def fun141(list1):
  2.     list2 = list()
  3.     for i in range(len(list1[0])):
  4.         list2.append([j[i] for j in list1])
  5.     for i in range(len(list1[0])):
  6.         for j in range(len(list1[i])):
  7.             if list1[i][j] == max(list1[i]) and list2[j][i] == min(list2[j]):
  8.                 return [i+1,j+1,list1[i][j]]

  9. if __name__ == '__main__':
  10.     result = fun141([[11,  3,  5,  6,  9],
  11.                      [12,  4,  7,  8, 10],
  12.                      [10,  5,  6,  9, 11],
  13.                      [ 8,  6,  4,  7,  2],
  14.                      [15, 10, 11, 20, 25]])
  15.     print('第%s行,第%s列,值为%s'%(result[0],result[1],result[2]))
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-31 11:20:20 | 显示全部楼层
  1. list1= [[11,  3,  5,  6,  9],
  2.         [12,  4,  7,  8, 10],
  3.         [10,  5,  6,  9, 11],
  4.         [ 8,  6,  4,  7,  2],
  5.         [15, 10, 11, 20, 25]]

  6. max1=[]
  7. for i in range(5):
  8.     max1.append(max(list1[i]))

  9. print(min(max1))
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-7 16:10:18 | 显示全部楼层
  1. def saddle(L):
  2.     hori, verti = len(L), len(L[0])
  3.     saddle_L = []
  4.     for x in range(hori):
  5.         for y in range(verti):
  6.             if L[x][y] == max(L[x]) and L[x][y] == min([L[i][y] for i in range(hori)]):
  7.                 saddle_L.append([x+1,y+1,L[x][y]])
  8.     for p in saddle_L:
  9.         print('第{0}行,第{1}列,值为{2}'.format(p[0], p[1], p[2]))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-7 22:36:33 | 显示全部楼层
  1. L=[]
  2. list1= [[11,  3,  5,  6,  9],
  3.         [12,  4,  7,  8, 10],
  4.         [10,  5,  6,  9, 11],
  5.         [ 8,  6,  4,  7,  2],
  6.         [15, 10, 11, 20, 25]]
  7. for i in range(5):
  8.     for j in range(5):
  9.         for k in range(5):
  10.             L.append(list1[k][j])
  11.         if list1[i][j]==max(list1[i]) and list1[i][j]==min(L):
  12.             print('鞍点是第[%d]行,第[%d]列的%d'%(i+1,j+1,list1[i][j]))
  13.         L=[]   
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-30 02:15:06 | 显示全部楼层
本帖最后由 凌九霄 于 2018-3-30 02:54 编辑
  1. #生成随机矩阵并找到鞍点
  2. # 生成随机矩阵并找到鞍点
  3. import random

  4. n = 9
  5. m = True

  6. while m:

  7.     test = []
  8.     for i in range(n):
  9.         test.append(random.sample([x for x in range(10, 100)], n))

  10.     for i in range(len(test)):
  11.         j = test[i].index(max(test[i]))
  12.         if min(r[j] for r in test) == max(test[i]):
  13.             print("\n第{0}行,第{1}列,鞍点值{2}\n".format(i + 1, j + 1, test[i][j]))
  14.             for x in test:
  15.                 print(x)
  16.             m = False
复制代码


360截图20180330021302944.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-14 13:25:48 | 显示全部楼层
for i in range(5):
    if max(list1[i]) == min(list1[x][list1[i].index(max(list1[i]))] for x in range(5)):
        print(max(list1[i]))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-11 15:55:56 | 显示全部楼层
  1. def fun141(grid):
  2.     nums = list(zip(*grid))
  3.     for i, x in enumerate(grid):
  4.         maxValue = max(x)
  5.         idx = x.index(maxValue)
  6.         if maxValue == min(nums[idx]):
  7.             return maxValue
  8.     return -1
  9.    
  10.    
  11.         
  12. list1 = [[11,  3,  5,  6,  9],
  13.         [12,  4,  7,  8, 10],
  14.         [10,  5,  6,  9, 11],
  15.         [ 8,  6,  4,  7,  2],
  16.         [15, 10, 11, 20, 25]]
  17. print(fun141(list1))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 07:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表