我有一个数组列表: [['ALC','10 .0',240001],['ALC','2401',240010]]
当我拥有字符串'2401'时,如何获取整个第二个数组条目
答案 0 :(得分:1)
这应该有效:
tests = [ ['ALC', '10.0', 240001], ['ALC','2401', 240010] ]
print(list(filter(lambda x: '2401' in x, tests)))
Filter
根据您提供的布尔条件过滤出一个项目。
所以我们在这里提供的标准是2401 in x
。
lambda中的x
表示您作为参数提供的列表中的一个元素。提供的列表为tests
(在lambda函数的右端)。
以下是filter
http://book.pythontips.com/en/latest/map_filter.html
以下是文档:
答案 1 :(得分:0)
arraylist = [ ['ALC', '10.0', 240001], ['ALC','2401', 240010] ]
for array in arraylist:
if '2401' in array:
print array
答案 2 :(得分:0)
您可以使用简单的列表理解来获取匹配项列表:
data = [ ['ALC', '10.0', 240001], ['ALC','2401', 240010] ]
search = '2401'
filtered_data = [entry for entry in data if entry[1] == search]
filtered_data
包含[['ALC', '2401', 240010]]
。
如果有多个匹配项:
data = [ ['ALC', '10.0', 240001], ['ALC','2401', 240010], ['ALC','2401', 240011], ['ALC','2401', 240012] ]
search = '2401'
filtered_data = [entry for entry in data if entry[1] == search]
filtered_data
将包含[['ALC', '2401', 240010], ['ALC', '2401', 240011], ['ALC', '2401', 240012]]
。
答案 3 :(得分:0)
您只需要遍历主列表,然后使用in
运算符检查您要查找的“术语”是否在“子列表”之内
def find_sublist_with_term(l, term):
for subl in l:
if term in subl:
return subl
mylist = [ ['ALC', '10.0', 240001], ['ALC','2401', 240010] ]
found = find_sublist_with_term(mylist, "2401")
答案 4 :(得分:0)
一种生成器方法,也可以找到多个匹配项:
id
测试:
export function getSurveyResponse(id: number): QueryBuilder {
return db('surveys')
.join('questions', 'questions.survey_id', '=', 'surveys.id')
.join('questionAnswers', 'questionAnswers.question_id', '=', 'questions.id')
.select('surveys.name', 'questions.question', 'questions.question', 'questionAnswers.answer')
.where({ survey_id: id, question_id: id })
}