정확하게 전달하려는 것을 설명하는 방법을 모릅니다.리스트의 특정 인덱스가 아닌 것 - 파이썬
일부만 검색하여 목록에서 요소의 색인을 가져 오려고합니다.
처럼이 "-T4"가 "목록"난 단지 "-T"이 같은뭔가를 검색하여 그것에 대한 인덱스를 얻을 수 있기를 원하는 곳 목록에서라고
,하지만하지 않습니다 작업 :
indexx = list.index("-T")
목록의 실제 요소 "-T4"
정확하게 전달하려는 것을 설명하는 방법을 모릅니다.리스트의 특정 인덱스가 아닌 것 - 파이썬
일부만 검색하여 목록에서 요소의 색인을 가져 오려고합니다.
처럼이 "-T4"가 "목록"난 단지 "-T"이 같은뭔가를 검색하여 그것에 대한 인덱스를 얻을 수 있기를 원하는 곳 목록에서라고
,하지만하지 않습니다 작업 :
indexx = list.index("-T")
목록의 실제 요소 "-T4"
일반적인 개념 것은 당신이 언급하고있는이 목록 항목의 문자열 검색있다하더라도.
목록을 반복하고 각 항목을 비교해야합니다 (원하는대로 유연한 방식에 따라 정규식 또는 문자열 방법을 사용할 수 있음) 각 항목을 비교하여 해당 위치의 항목에 원하는 하위 문자열.
enumerate
을 사용하여 목록을 반복 할 경우 색인을 찾을 때 되돌릴 수 있습니다 (찾을 수없는 경우 -1).
#!/usr/bin/env python
o1 = ['A3', 'B3', 'C1', 'T2']
o2 = ['A3', 'B3', 'C1']
def partialSearch(obj, key):
for idx, item in enumerate(obj):
if key in item:
return idx
return -1
print "found: {0}".format(partialSearch(o1, 'T'))
print "found: {0}".format(partialSearch(o2, 'T'))
반환 값 : 응답
found: 3
found: -1
편집을 영업 이익에서 코멘트 : 그것은 정수를 반환 것
, 인덱스를 어디에 발견 된 키 (찾지 못하면 -1, 기술적으로 인덱스로 사용할 수 있지만이 경우에는 사용하지 않아야 함). 이이 반환 즉
loc = partialSearch(o1, 'T')
print "value at idx {0}: {1}".format(loc, o1[loc])
, 다시 목록 중 항목을 가져올 수 있습니다 :
value at idx 3: T2
또한, (idx, item)
는 말 함수에서 튜플을 반환 할 수 있습니다. 어떻
내장,하지만 난 정수 내가 돌아갈 수 있도록 반환이 필요합니다 초기 목록으로 이동하여 목록에서 해당 요소를 가져 와서 다른 변수에 저장합니다. –
다음 일치 = [I가 난으로 myList에서 I에서 "-T"경우]
이 myList에 for i in mylist
각 항목 통과는 (a 비트에 각 항목을 I 전화) 및 if "-T" in i
, i
(첫 번째 i
)을 포함하는 새 목록에 항목을 추가합니다.
[i for i, x in enumerate(mylist) if "-T" in x]
그러면 쿼리와 일치하는 모든 인덱스의 목록이 반환됩니다. re
모듈을 통해
,
>>> l = ['-T4', 'B2', 'C6']
>>> l.index([ x for x in l if re.match(r'.*-T', x)][0])
0
list'는'다른 변수 이름을 사용하여 시도해보십시오 정도 작동 형 – dazedconfused