鱼C论坛

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

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

[复制链接]
发表于 2018-1-15 20:55:26 | 显示全部楼层
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=[]
list4=[]
for i in range(5):
    list2.append([])
    rmax= max(list1[i])
    list3.append(rmax)
    for j in list1:
       list2[i].append(j[i])
for t in range (5):
    cmin= min(list2[t])
    list4.append(cmin)
for row in range(5):
    for clo in range(5):
        if list3[row]==list4[clo]:
            print("第%s行,第%s列,值是%s"%(row+1,clo+1,list3[row]))
    

  
           
   
   
           

评分

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

查看全部评分

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

使用道具 举报

发表于 2018-1-15 22:00:49 | 显示全部楼层
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 row in list1:
    temp = []
    num = max(row)
    i = row.index(num)
    for row2 in list1:
        temp.append(row2[i])
    if num == min(temp):
        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 | 显示全部楼层
代码如下
for item in list1:
    ind = item.index(max(item))
    temp = 1 if min([t[ind] for t in list1]) == item[ind] else 0
    if temp:
        print(list1.index(item)+1, ind+1, item[ind])
        break
结果:
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 编辑
def fun141(list1):
    list2 = list()
    for i in range(len(list1[0])):
        list2.append([j[i] for j in list1])
    for i in range(len(list1[0])):
        for j in range(len(list1[i])):
            if list1[i][j] == max(list1[i]) and list2[j][i] == min(list2[j]):
                return [i+1,j+1,list1[i][j]]

if __name__ == '__main__':
    result = fun141([[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]])
    print('第%s行,第%s列,值为%s'%(result[0],result[1],result[2]))

评分

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

查看全部评分

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

使用道具 举报

发表于 2018-1-31 11:20:20 | 显示全部楼层
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]]

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

print(min(max1))

评分

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

查看全部评分

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

n = 9
m = True

while m:

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

    for i in range(len(test)):
        j = test[i].index(max(test[i]))
        if min(r[j] for r in test) == max(test[i]):
            print("\n第{0}行,第{1}列,鞍点值{2}\n".format(i + 1, j + 1, test[i][j]))
            for x in test:
                print(x)
            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 | 显示全部楼层
def fun141(grid):
    nums = list(zip(*grid))
    for i, x in enumerate(grid):
        maxValue = max(x)
        idx = x.index(maxValue)
        if maxValue == min(nums[idx]):
            return maxValue
    return -1
    
    
        
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]]
print(fun141(list1))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 01:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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