gpt4 book ai didi

python - 如何从列表中检查号码而不检测具有相同数字的号码?

转载 作者:行者123 更新时间:2023-11-30 21:56:55 24 4
gpt4 key购买 nike

假设我有一个列表:[2 只狗玩耍,4 只狗玩耍,22 只狗玩耍,24 只狗玩耍,26 只狗玩耍]我有一个表达式要求用户输入一个数字,并将其存储在变量 num

我的代码中有一个条件,

for item in list:
if num in item:
....
do something to item

我的问题是,如果用户输入 2,代码也会对具有 22、24 和 26 的项目执行某些操作,因为其中有 2,而我只希望它对具有 22、24 和 26 的项目执行某些操作只有2.我该如何实现这一点?

最佳答案

您需要从item中获取digits,然后检查它是否等于num:

使用正则表达式:

import re

uList = ['2 dogs play', '4 dogs play', '22 dogs play', '24 dogs play', '26 dogs play']
num = int(input("Enter a num: "))

for item in uList:
if num == int((re.findall(r'\d+', item))[0]):
print(item)

输出:

Enter a num: 2
2 dogs play

Process finished with exit code 0

编辑:

使用split():

uList = ['2 dogs play', '4 dogs play', '22 dogs play', '24 dogs play', '26 dogs play']
num = input("Enter a num: ") # no conversion to int here

for item in uList:
if num == item.split(' ')[0]: # split and get the digits before space
print(item)

输出:

Enter a num: 22
22 dogs play

Process finished with exit code 0

关于python - 如何从列表中检查号码而不检测具有相同数字的号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55411861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com