好吧,我猜這是第一次發佈沒有意義。但是我想知道的是,如果有一種方法與索引方法所做的相反。例如,讓我說我在Python shell中輸入>>> l ='hello'我知道,如果我把索引l [2]結果將是'l'。但是我想知道是否有任何簡單的方法可以使用,如果我放入l ['h']它將返回0,字符串中的索引值/位置。我需要它,以便我可以將它放入函數中。反正有沒有在Python中做反向索引
-3
A
回答
1
您可能正在尋找index
方法列表:
>>> s = 'hello'
>>> s.index('h')
0
2
如果我明白你的問題正確的話,我想你正在尋找enumerate()
:
>>> for ind, char in enumerate("mystring"):
... print ind,char
...
0 m
1 y
2 s
3 t
4 r
5 i
6 n
7 g
幫助上enumerate
:
>>> enumerate?
Docstring:
enumerate(iterable[, start]) -> iterator for index, value of iterable
Return an enumerate object. iterable must be another object that supports
iteration. The enumerate object yields pairs containing a count (from
start, which defaults to zero) and a value yielded by the iterable argument.
enumerate is useful for obtaining an indexed list:
(0, seq[0]), (1, seq[1]), (2, seq[2]), ...
編輯:
要獲得任何子串的第一個匹配的索引使用str.index
或str.find
。
str.index
將提高ValueError
如果沒有找到該項目,str.find
將返回-1:
>>> strs = "hello"
>>> strs.index("h")
0
>>> strs.find("h")
0
>>> strs.find("m")
-1
>>> strs.index("m")
Traceback (most recent call last):
File "<ipython-input-9-5f19ab4b0632>", line 1, in <module>
strs.index("m")
ValueError: substring not found
0
你的問題是不是一清二楚 - 提供一組輸入和預期產出通常幫助。無論如何,如果我理解正確的話,你要的是一樣的東西:
def fun(index, bstr):
try:
return int(bstr[index])
except IndexError, e:
# should handle the error here - don't know what
# behaviour you expect
raise
def encrypt(text, bstr):
for index, char in enumerate(text):
flag = fun(index, bstr)
if flag: # iow : 'if flag == 1'
do_something()
else: # iow : 'if flag == 0'
do_something_else()
encrypt("allo", "0001")
作爲一個側面說明,考慮到您的代碼段,我覺得你應該先學會計劃在Python - 第一for
環路什麼都不做,除了吃CPU週期,第二個的第一行創建了立刻丟棄
相關問題
- 1. Python中的反向索引?
- 2. 反向索引
- 3. 反正有沒有做一個本地化的Python版本?
- 4. 正則表達式中的反向引用與反向引用有何區別?
- 5. 的RewriteCond - 反向引用沒有價值
- 6. 反正有做actionlinks下拉
- 7. 沒有子進程的Python反向shell
- 8. RegEx做反向搜索?
- 9. python枚舉僅反向索引
- 10. 在Python中做shell反引號?
- 11. 在Django中沒有找到反向
- 12. Django沒有反向django.contrib.auth.views.password_reset_confirm
- 13. django沒有反向匹配
- 14. Django - 沒有反向匹配/
- 15. 沒有parens反引號
- 16. 反正有沒有落實在JavaScript XOR
- 17. 反正有沒有在Android的
- 18. matlab反向映射索引
- 19. C#枚舉反向索引
- 20. 反向索引數組
- 21. mysql部分索引,反向索引
- 22. Parslet中有反向引用嗎?
- 23. glMatrix有沒有lookat的反向函數?
- 24. 有沒有辦法在jooq中做一個反向的「代碼生成」?
- 25. 在Python中反向索引列表列表
- 26. Django的 - 蟒蛇:利用反向失敗:沒有反向匹配
- 27. 沒有反向功能的反向字符串
- 28. 在Python的Seaborn中,有沒有什麼辦法可以做「despine」的反義詞?
- 29. 有沒有比較正則表達式反向引用的方法?
- 30. 反正有沒有得到「glu.h」?
如果你想描述的算法,它確實幫助,如果你展示考試輸入和輸出,並解釋兩者之間的關係。 – Marcin 2013-05-12 16:20:07