在下面我撰寫的示例中,我試圖STEM Employment從text串列中獲取單詞。如果我按順序找到這些單詞集,我想找到第一個單詞的索引號,這樣我就可以對widthandheight串列使用相同的索引號,因為它們是并行的(意味著它們的 len 始終是相同的動態值)
teststring = ("STEM Employment").split(" ")
data = {"text":["some","more","STEM","Employment","data"],
"width":[100,45,50,90,354],
"height":[500,320,320,432,554]}
所以對于這個例子,答案是50and320因為第一個詞是STEM. 但是,我不只是在尋找,STEM我必須確保在串列中Employment緊隨其后STEM。
我嘗試為此撰寫一個 forloop,但我的 forloop 在確認第一個單詞時停止STEM。我不知道如何解決它:
testchecker = 0
for testword in range(len(data)):
print(data["text"][testword])
for m in teststring:
# print(m)
print(testchecker)
if m in data["text"][testword]:
print("true")
testchecker = testchecker 1
if testchecker == len(teststring):
print("match")
print(testword-testchecker 1)
pass
else:
testchecker = 0
uj5u.com熱心網友回復:
您可以在其中創建data["text"]一個字串join并檢查“STEM 就業”。然后找到“STEM”的索引。
teststring = "STEM Employment"
data = {"text":["some","more","STEM","Employment","data"],
"width":[100,45,50,90,354],
"height":[500,320,320,432,554]}
if teststring in " ".join(data["text"]):
idx = data["text"].index(teststring.split(' ')[0])
print(data["width"][idx], data["height"][idx])
輸出:
50 320
另外的選擇:
teststring = "STEM Employment".split(' ')
# Make sure all words in testring are in data["text"]
if all(s in data["text"] for s in teststring):
# Get the indexes of each word
indexes = [data["text"].index(s) for s in teststring]
# Make sure all indexes are sequential
if all(b - a == 1 for a, b in zip(indexes, indexes[1:])):
print(data["width"][indexes[0]], data["height"][indexes[0]])
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/521675.html
下一篇:資料框中的字典值
