我在列表中使用Python max和min函数来实现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)
我需要能够返回最小值或最大值的实际索引,而不仅仅是值.
我有一个包含超过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.我该怎么办呢?
我有以下列表,通过在两个单独的数字列表上使用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)
但它不起作用.