Python将字符串的一部分与列表进行比较

2024-03-29 09:56:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有多个字符串,如下所示:

“BPBA-SG790-NGTP-W-AU-BUN-3Y”

我想将字符串与列表进行比较,如果字符串的一部分在列表中,我只想将列表中找到的部分作为新变量

这是我的代码:

    mylist = ["770", "790", "1470", "1490"]
    sq = “BPBA-SG790-NGTP-W-AU-BUN-3Y”

    matching = [s for s in mylist if any(xs in s for xs in sq)]
    print(matching)

>>> ['770', '790', '1470', '1490'] 

例如,这就是我想要得到的:

    mylist = ["770", "790", "1470", "1490"]
    sq = “BPBA-SG790-NGTP-W-AU-BUN-3Y”

    matching = [s for s in mylist if any(xs in s for xs in sq)]
    print(matching)

>>> 790

你知道怎么做吗


Tags: 字符串in列表forifsqanyau
3条回答

您可以使用python中的in关键字:

mylist = ["770", "790", "1470", "1490"]
sq = "BPBA-SG790-NGTP-W-AU-BUN-3Y"
for i in mylist:
    if i in sq:
        print(i)

代码遍历列表并打印列表元素(如果它在字符串中)

我不确定我是否理解你的问题,但下面的内容应该可以解决这个问题

[x for x in mylist if x in sq]

它将返回字符串中出现的列表元素的列表

这样,您可以使用列表理解:

mylist = ["770", "790", "1470", "1490"]
sq = "BPBA-SG790-NGTP-W-AU-BUN-3Y"

matching = [m for m in mylist if m in sq]

print(matching)

输出:

['790']

相关问题 更多 >