例如,如果你只命名了一些元素,你如何在列表中找到元素的位置?
在這份名單中,
myFile = ['aweys:5\n', 'baaa: 7\n']
如何找到包含「阿維斯」元素以最快的方式,位置,?
我已經試過
if any('aweys' in s for s in myFile)
,但我不知道如何查找的字符串是該指數在列表中。
例如,如果你只命名了一些元素,你如何在列表中找到元素的位置?
在這份名單中,
myFile = ['aweys:5\n', 'baaa: 7\n']
如何找到包含「阿維斯」元素以最快的方式,位置,?
我已經試過
if any('aweys' in s for s in myFile)
,但我不知道如何查找的字符串是該指數在列表中。
def find(value, array):
index = 0
for val in array:
if value in val:
return index
index += 1
return -1
這將找到的value
第一次出現在array
並且如果沒有找到返回的位置或-1
。
如果你知道值的確切名稱,你可以使用[].index(item_value)
的內容是有你能想到的更快/更簡單的方法? – Aweys
@保羅魯尼創造了一個更簡單的解決方案,如果你熟悉枚舉 – JGerulskis
@Aweys:源代碼可以短一些(見'enumerate'),但該算法不能。您必須訪問所有元素(直到找到匹配的元素),並且必須在那裏查找子字符串。 – dlask
for i, val in enumerate(myFile):
if 'aweys' in val:
print 'aweys is found at index %d' % i
其他方法來獲得指標和字符串
print filter(lambda s: 'aweys' in s[1], enumerate(myFile))
對於包含有每個索引元組列表的元組(以如果發現不止一次)和全部值,請嘗試以下操作:
>>> myFile = ['aweys:5\n', 'baaa: 7\n']
>>> found = [(i, v) for i, v in enumerate(myFile) if 'aweys' in v]
>>> print(found)
[(0, 'aweys:5\n')]
你試過循環thr ough和使用'in'運算符?如果不是,你嘗試了什麼? – TigerhawkT3
嗯,首先我發現'aweys'在這個列表中:如果有的話('aweys's在myFile中s)。 – Aweys
但我不知道如何找到包含「阿維斯」手頭只有信息單元的位置,所以不是所有的元素 – Aweys