簡體   English   中英

在字符串列表中查找字符串的一部分

[英]Finding part of string in list of strings

GCM = ([519,520,521,522,533],[534,525],[526,527,530,531], [4404])

slice = int(str(df["CGM"][row_count])[:3])

我正在查看 csv 文件中的一行並取出我想要的數字。 我想要以我在GCM中的號碼開頭的號碼。 因為它們代表我在其他列中想要的信息。 這適用於切片 function 因為我想要的所有數字都以 3 位數字開頭。 現在我需要查找以4404開頭的任何數字,以后可能需要查找57052切片 function 不再起作用。

有沒有辦法,而不是切片和比較列表,可以取 5 位數字,看看它的一部分是否在列表中。 最好從 3 個或更多相同的數字開始尋找它。 這部分代碼的真正意義在於找出GCM列表中的哪個列表。 它需要能夠擁有數字44042並知道它關心的部分在GCM[3]中,但另一方面不希望它說32519DCM[0]中,因為我只關心關於以519開頭的數字不以它結尾。

在此處輸入圖像描述

附言。 我是挪威人,一直在自學編程。 經歷了一些漫長的夜晚。 所以這里的某些東西可能會在翻譯中丟失。

您可以使用str.startswith()來測試 substring 是否是另一個字符串的開頭,那么您不需要切片特定長度。

您可以使用any()來測試GCM列表中的任何字符串是否以這種方式匹配。

GCM = (['519','520','521','522','533'],['534','525'],['526','527','530','531'], ['4404'])
num = '44042'
for i, l in enumerate(GCM):
    if any(num.startswith(code) for code in l)
        print(f'Found {num} in GCM[{i}]')
        break
else:
    print(f'{num} not found in GCM')

暫無
暫無

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

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