学习Python并负责返回列表中第一个字母的索引位置。但它必须在任何给定列表的左上角部分。例如' a'将作为索引返回(0,2)。
当我运行我的代码时,它说这封信还没有找到。假设Value代表字母和'。'已在测试仪中定义。如果它是'
,它应该返回novar postSchema = new mongoose.Schema({
raidName: String,
raidDate: String,
raidTime: String,
raidFaction: String,
whosGoing: { type: Array, "default": []}
});
var realmSchema = new mongoose.Schema({
realmName: String,
posts: [postSchema]
});
答案 0 :(得分:1)
我想你想要这样的东西:
def find_spot_values(value,area):
for row_idx, row in enumerate(area):
if value in row:
return (row_idx, row.index(value))
答案 1 :(得分:1)
我修改了你的功能,现在它可以工作:
area1 = [['.', 'a', 'a', 'D', 'D'], ['.', '.', 'a', '.', '.'], ['A', 'A', '.', 'z', '.'], ['.', '.', '.', 'z', '.'], ['.', '.', 'C', 'C', 'C']]
def find_spot_values(value,area):
# Loop through the rows, id_row contains the index and row the list
for id_row, row in enumerate(area):# Looks at rows in order
# Loop through all elements of the inner list
for idx, letter in enumerate(row):
if value == letter: #If strings are equal to one another
return (id_row, idx)
# We returned nothing yet --> the letter isn't in the lists
return None
print(find_spot_values('D',area1))
这将返回一个带有'坐标'的元组。或None
,如果value
中没有area
。
在内部循环中,您也可以使用index()
函数。在这种情况下,如果列表中没有包含该字母,则必须处理异常。
答案 2 :(得分:1)
对代码进行最少的更改
def find_spot_values(value, area):
for row in area: # Looks at rows in order
for letter in row: # Looks at letter strings
if value == letter: # If strings are equal to one another
return area.index(row), row.index(letter) # Identifies indices