簡體   English   中英

列表中字符串中字符的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]})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM