Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.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,我对python还是个新手,因此非常感谢您的帮助。 我有两个元组列表,由int、float和int组成,其中两个列表中的整数相同。 此后,我使用 z=List1 L=列表2 z = [[r[col] for r in z] for col in range(len(z[0]))] L = [[r[col] for r in L] for col in range(len(L[0]))] final_t_matrix = [] for i in (z + L): if i not i

我对python还是个新手,因此非常感谢您的帮助。
我有两个元组列表,由int、float和int组成,其中两个列表中的整数相同。
此后,我使用
z=List1
L=列表2

z = [[r[col] for r in z] for col in range(len(z[0]))]
L = [[r[col] for r in L] for col in range(len(L[0]))]  

final_t_matrix = []
for i in (z + L):
    if i not in final_t_matrix:
        final_t_matrix.append(i)
Wind = [[r[col] for r in final_t_matrix] for col in range(len(final_t_matrix[0]))]  
我现在有一个列表,如果我运行print语句,它将提供这个输出(这只是部分输出)

现在,我想通过选择第二个和第三个值并获取结果并将其输出到列表中来处理这些数据

我的代码目前是这个,但我似乎遗漏了一些东西。语句需要运行直到达到none值,然后停止,因为列表的长度可能超过500个数据点

force = [] 
i = 0
if Wind[i][3] == 30.0:
    force.append[i] = (((Wind[i][1])**2 + (Wind[i][2])**2)**0.5)
else:
    i += 1

print(force)

*我想把结果保存在一个列表中,这样我就可以回忆起与任何整数对应的结果。

得到了一个简单的答案,当调整输出时,我想要什么

force = [(w[0], (((w[1])**2 + (w[2])**2)**0.5), w[3]) for w in Wind]   

得到了一个简单的答案,当调整输出时,我想要什么

force = [(w[0], (((w[1])**2 + (w[2])**2)**0.5), w[3]) for w in Wind]   

在代码中,force.append的参数用方括号括起来,即force.append[i]代替force.append(i)


我不确定纠正这个语法错误是否足够,但这应该是朝着正确方向迈出的一步。

在代码中,force.append的参数用方括号括起来,即force.append[I]代替force.append(I)


我不确定纠正这个语法错误是否足够,但这应该是朝着正确方向迈出的一步。

您的意思是语句需要运行到列表的末尾,还是语句需要运行到在子列表的第四个元素中看到None值

如果是第一种情况,则只需将其放入循环:

force = [] 
for i in range(len(Wind)):
  if Wind[i][3] == 30.0:
     force.append(((Wind[i][1])**2 + (Wind[i][2])**2)**0.5)
print(force)
否则,需要将其放入循环并使用break语句:

force = [] 
for i in range(len(Wind)):
   if Wind[i][3] == None:
      break
   elif Wind[i][3] == 30.0:
      force.append(((Wind[i][1])**2 + (Wind[i][2])**2)**0.5)
print(force)

请注意,鉴于您提供的示例风列表,这将输出一个空列表,因为子列表中没有等于30的第四个元素。

您的意思是语句需要运行直到到达列表末尾,还是语句需要运行直到在子列表的第四个元素中看到无值

如果是第一种情况,则只需将其放入循环:

force = [] 
for i in range(len(Wind)):
  if Wind[i][3] == 30.0:
     force.append(((Wind[i][1])**2 + (Wind[i][2])**2)**0.5)
print(force)
否则,需要将其放入循环并使用break语句:

force = [] 
for i in range(len(Wind)):
   if Wind[i][3] == None:
      break
   elif Wind[i][3] == 30.0:
      force.append(((Wind[i][1])**2 + (Wind[i][2])**2)**0.5)
print(force)

请注意,鉴于您提供的示例风列表,这将输出一个空列表,因为子列表中没有等于30的第四个元素。

我尝试在if语句上方的Wind中运行for项,但我得到了“int”对象不可下标错误,如果您的意思是
force=[((w[1])**2+(w[2])**2)**0.5)for Wind]
我需要能够调用对应于整数的结果值,这就是我想将其保留在列表中的原因。mate对此进行了调整,并且它起了作用。我尝试在if语句上方的wind中运行for项,但我得到了“int”对象不可下标错误,如果您的意思是
force=[((w[1])**2+(w[2])**2)**0.5)对于Wind中的w]
我需要能够调用与整数对应的结果值,这就是为什么我想将其保留在列表中。经过调整后,它工作了。