Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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_Indexing_Tuples - Fatal编程技术网

Python 从混合数据类型列表中获取整数

Python 从混合数据类型列表中获取整数,python,list,indexing,tuples,Python,List,Indexing,Tuples,我有一个混合数据类型整数和元组的列表,其中包含表示列表文件中文件标记的整数。我希望以不同于普通整数的方式处理元组,因为我需要聚合从每个文件计算的数字。如果我在列表ind上循环并检查条目是否是元组并将其传递给函数find_fname,为什么它会在每个条目后打印出None?下面是一个简单的工作示例: def find_fname(ind, files): print files[ind] files = ['file1','file2','file3','file4'] ind = [

我有一个混合数据类型整数和元组的列表,其中包含表示列表文件中文件标记的整数。我希望以不同于普通整数的方式处理元组,因为我需要聚合从每个文件计算的数字。如果我在列表ind上循环并检查条目是否是元组并将其传递给函数find_fname,为什么它会在每个条目后打印出None?下面是一个简单的工作示例:

def find_fname(ind, files):
    print files[ind]


files = ['file1','file2','file3','file4']

ind = [0,(1,2),3]

for thing in ind:
    #check to see if entry in list is tuple
    if hasattr(thing, '__iter__'):
        print find_fname(thing[0],files)
        print find_fname(thing[1],files)
    else:
        print find_fname(thing,files)
返回:

file1
None
file2
None
file3
None
file4
None
我希望看到find_fname返回:


函数find_fname的返回值为None,因为您打印了该值而不是返回它。如果函数不返回任何内容,则隐式返回None

你应该做的是:

def find_fname(ind, files):
    return files[ind]

您不能从函数中打印?可以,但您已经在代码中打印返回值,如打印查找\u fname。。。所以你打印了两次。好的,非常感谢!
def find_fname(ind, files):
    return files[ind]