Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正在尝试比较列表元素_Python_List - Fatal编程技术网

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]应该实现什么?你意识到这是一个列表,你试着用一个字符串来比较它?