Python 字符在列表中字符串中的位置
Python position of a character in a string in a list
所以,假设我有一个包含 5 个字符串的列表。字符串长度为七个字符。
list = ["000000A", "000001A", "000002B", "000003C", "000004C"]
现在,对于这个列表,我想找到第 7 个字符等于 A 的字符串在列表中的位置。然后我想找到字符串在列表中的第 7 个字符的位置等于 B。最后 C 也一样。
我的思路是:
letters = ["A","B","C"]
for i in range(len(letters)):
for j in range(len(list)):
for k, l in enumerate(list[j][6]):
if l == (letters[i]):
print(k)
任何人都可以指出正确的方向或解释为什么这行得通吗?
lst = ["000000A", "000001A", "000002B", "000003C", "000004C"]
a = ([i for i,s in enumerate(lst) if s[6] == "A"])
所以要获得全部三个:
a = []
b = []
c= []
for i, s in enumerate(lst):
if s[6] == "A":
a.append(i)
elif s[6] == "B":
b.append(i)
elif s[6] == "C":
c.append(i)
或者您可以使用 s[6] 作为键将所有内容存储在 defaultdict 中:
from collections import defaultdict
inds = defaultdict(list)
for i, s in enumerate(lst):
inds[s[6]].append(i)
print(inds)
defaultdict(<type 'list'>, {'A': [0, 1], 'C': [3, 4], 'B': [2]})
所以,假设我有一个包含 5 个字符串的列表。字符串长度为七个字符。
list = ["000000A", "000001A", "000002B", "000003C", "000004C"]
现在,对于这个列表,我想找到第 7 个字符等于 A 的字符串在列表中的位置。然后我想找到字符串在列表中的第 7 个字符的位置等于 B。最后 C 也一样。
我的思路是:
letters = ["A","B","C"]
for i in range(len(letters)):
for j in range(len(list)):
for k, l in enumerate(list[j][6]):
if l == (letters[i]):
print(k)
任何人都可以指出正确的方向或解释为什么这行得通吗?
lst = ["000000A", "000001A", "000002B", "000003C", "000004C"]
a = ([i for i,s in enumerate(lst) if s[6] == "A"])
所以要获得全部三个:
a = []
b = []
c= []
for i, s in enumerate(lst):
if s[6] == "A":
a.append(i)
elif s[6] == "B":
b.append(i)
elif s[6] == "C":
c.append(i)
或者您可以使用 s[6] 作为键将所有内容存储在 defaultdict 中:
from collections import defaultdict
inds = defaultdict(list)
for i, s in enumerate(lst):
inds[s[6]].append(i)
print(inds)
defaultdict(<type 'list'>, {'A': [0, 1], 'C': [3, 4], 'B': [2]})