如何搜索列表中的特定单词?一旦我搜索了那个特定的单词,我怎么能从那里向后搜索?在我的例子中,我需要搜索城市,然后向后搜索以找到街道类型(例如:Rd,St,Ave等)
我首先允许用户输入地址,例如 123 Fakeville St SW旧金山CA 90215 :
searchWord = 'San Francisco'
searchWord = searchWord.upper()
address = raw_input("Type an address: ").upper()
输入地址后,我会使用address = address.split()
拆分它,结果是:
['123', 'Fakeville', 'St', 'SW', 'San Francisco', 'CA', '90215']
然后我在列表中搜索城市:
for items in address:
if searchWord in items:
print searchWord
但我不确定如何倒数以找到街道类型(例如:St)。
答案 0 :(得分:0)
for items in address:
if searchWord in items:
for each in reversed(address[0:address.index(searchWord)]):
if each == 'St':
print each
找到城市后,使用反向
反向遍历列表答案 1 :(得分:0)
您可以使用list.index
方法搜索列表中项目的索引。
没有list.rindex
方法可以向后搜索。
你需要使用:
rev_idx = len(my_list) - my_list[::-1].index(item) - 1
我真的不明白你的目标是什么,我可以解释如何向后搜索" St" 地址字符串列表中的字符串:
address = ['123', 'Fakeville', 'St', 'SW', 'San Francisco', 'CA', '90215']
town_idx = address.index('San Francisco')
print(town_idx)
# You'll get: 4
before = address[:town_idx]
st_index = len(before) - before[::-1].index("St") - 1
print(st_index)
# You'll get: 2