Python 正在尝试比较列表元素
在下面的代码中,在Python 正在尝试比较列表元素,python,list,Python,List,在下面的代码中,在if path_parts[-2:-1]==“training”中,我希望我的函数能够单步计算该位置的文件数。我的打印(路径部分[-2:-1])表明代码正在查找我正在查找的“培训”文件夹,但评估结果没有证明为“真” 我做错了什么 for dirs_name, sub_dirs, files in os.walk(file_path): count=0 name='' if os.path.basename(dirs_name)== '2016':
if path_parts[-2:-1]==“training”
中,我希望我的函数能够单步计算该位置的文件数。我的打印(路径部分[-2:-1])
表明代码正在查找我正在查找的“培训”文件夹,但评估结果没有证明为“真”
我做错了什么
for dirs_name, sub_dirs, files in os.walk(file_path):
count=0
name=''
if os.path.basename(dirs_name)== '2016':
path_parts = [x.lower() for x in dirs_name.split('\\')]
print(path_parts[-2:-1])
if path_parts[-2:-1] == 'training':
'statement'
Output of the print statement
['training']
['training']
['training']
['training']
从输出中可以看到,
path\u parts[-2:-1]
是['training']
。那是一张单子。但您将其与“training”
进行比较,后者是一个字符串
你的意思是:
# Is this sublist equal to a list containing the string 'training'?
if path_parts[-2:-1] == ['training']:
或者更简单地说:
# Is the element at position -2 equal to the string 'training'?
if path_parts[-2] == 'training':
从输出中可以看到,
path\u parts[-2:-1]
是['training']
。那是一张单子。但您将其与“training”
进行比较,后者是一个字符串
你的意思是:
# Is this sublist equal to a list containing the string 'training'?
if path_parts[-2:-1] == ['training']:
或者更简单地说:
# Is the element at position -2 equal to the string 'training'?
if path_parts[-2] == 'training':
您的
路径\u parts[-2:-1]
返回一个列表(因为您对列表进行了切片),然后将其与字符串'training'
进行比较。这总是False
,因为这些列表和字符串是不可比较的
但您只需使用路径部分[-2]
访问最后一项:
if path_parts[-2] == 'training':
您的
路径\u parts[-2:-1]
返回一个列表(因为您对列表进行了切片),然后将其与字符串'training'
进行比较。这总是False
,因为这些列表和字符串是不可比较的
但您只需使用路径部分[-2]
访问最后一项:
if path_parts[-2] == 'training':
路径零件[-2:-1]应该实现什么?您意识到这是一个列表,并尝试将其与字符串进行比较?路径部分[-2:-1]应该实现什么?你意识到这是一个列表,你试着用一个字符串来比较它?