从for循环列表中访问内容?

use*_*983 0 python loops

我想不出这个解决方案:

我有这个清单: shapefiles

我想为列表中的每个shapefile创建一个进程,但问题是它是一个列表列表:

for i in shapefiles:
    inte_s = gpd.read_file(i) #Apparently it is wrong to just use i.
    etc..
Run Code Online (Sandbox Code Playgroud)

如何从列表中一次访问每个?

要了解列表的方式,请检查这些测试.

shapefiles[0]
['C:\\Users\\user\\Desktop\\fffff\\INTE_PST_NO_EK_WITH_ASTTOM\\INTE_SHP_TESTA\\INTE1.shp',
 'C:\\Users\\user\\Desktop\\fffff\\INTE_PST_NO_EK_WITH_ASTTOM\\INTE_SHP_TESTB\\INTE1.shp']

for i in shapefiles:
    print(i)
['C:\\Users\\user\\Desktop\\fffff\\INTE_PST_NO_EK_WITH_ASTTOM\\INTE_SHP_TESTA\\INTE1.shp', 
'C:\\Users\\user\\Desktop\\fffff\\INTE_PST_NO_EK_WITH_ASTTOM\\INTE_SHP_TESTB\\INTE1.shp']

for i in shapefiles:
    print(i[0])
C:\Users\user\Desktop\fffff\INTE_PST_NO_EK_WITH_ASTTOM\INTE_SHP_TESTA\INTE1.shp

for i in shapefiles:
    print(i[1])
C:\Users\user\Desktop\fffff\INTE_PST_NO_EK_WITH_ASTTOM\INTE_SHP_TESTB\INTE1.shp
Run Code Online (Sandbox Code Playgroud)

raf*_*elc 6

你有一个列表列表,所以先将它展平然后再使用你的循环

shapefiles_flat = [file_ for sublist in shapefiles for file_ in sublist]

for i in shapefiles_flat:
      #read
Run Code Online (Sandbox Code Playgroud)