相关疑难解决方法(0)

使用列表中的max()/ min()获取返回的max或min项的索引

我在列表中使用Python maxmin函数来实现minimax算法,我需要max()或者返回的值的索引min().换句话说,我需要知道哪个移动产生了最大值(在第一个玩家的回合)或最小值(第二个玩家)值.

for i in range(9):
    newBoard = currentBoard.newBoardWithMove([i / 3, i % 3], player)

    if newBoard:
        temp = minMax(newBoard, depth + 1, not isMinLevel)  
        values.append(temp)

if isMinLevel:
    return min(values)
else:
    return max(values)
Run Code Online (Sandbox Code Playgroud)

我需要能够返回最小值或最大值的实际索引,而不仅仅是值.

python list max min

395
推荐指数
17
解决办法
74万
查看次数

使用Python对文本文件进行排序

我有一个包含超过1000万行的文本文件.这样的行:

37024469;196672001;255.0000000000
37024469;196665001;396.0000000000
37024469;196664001;396.0000000000
37024469;196399002;85.0000000000
37024469;160507001;264.0000000000
37024469;160506001;264.0000000000
Run Code Online (Sandbox Code Playgroud)

如你所见,分隔符是";".我想根据第二个元素使用python对这个文本文件进行排序.我不能使用拆分功能.因为它会导致MemoryError.我该怎么办呢?

python sorting algorithm file

5
推荐指数
2
解决办法
5699
查看次数

索引元组列表中的元素

我有以下列表,通过在两个单独的数字列表上使用zip函数创建:

[(20, 6),
(21, 4),
(22, 4),
(23, 2),
(24, 8),
(25, 3),
(26, 4),
(27, 4),
(28, 6),
(29, 2),
(30, 8)]
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法迭代这个列表并在LHS上接收与RHS上的最大值相对应的数字,即在这种情况下我想得到24和30,它们都有一个值8(RHS的最大值).我试过了:

## get max of RHS 
max_1 = max([i[1] for i in data])
## for max of LHR, index this location
## on RHS column 
number = [i[1] for i in data].index(max_1)
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

python indexing

2
推荐指数
1
解决办法
69
查看次数

标签 统计

python ×3

algorithm ×1

file ×1

indexing ×1

list ×1

max ×1

min ×1

sorting ×1