Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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 3.x 如何在对象列表中划分两个元素?_Python 3.x_List_Object_Lambda_Divide - Fatal编程技术网

Python 3.x 如何在对象列表中划分两个元素?

Python 3.x 如何在对象列表中划分两个元素?,python-3.x,list,object,lambda,divide,Python 3.x,List,Object,Lambda,Divide,我有一个对象列表(列表列表),其中包含一个字符串和两个浮点值。我必须使用lambda函数来分割两个浮点值。 这是我的示例数据: listOfObjects = [['I', 5, 9], ['Y', 7, 13],['O', 3, 32]] 我的输出应该是同一个对象列表,还有一列的值为9/5、13/7和32/3 listOfObjects = [['I', 5, 9, 1.8], ['Y', 7, 13, 1.85],['O', 3, 32, 10.66]] 以下是我尝试过的: avgVal

我有一个对象列表(列表列表),其中包含一个字符串和两个浮点值。我必须使用lambda函数来分割两个浮点值。 这是我的示例数据:

listOfObjects = [['I', 5, 9], ['Y', 7, 13],['O', 3, 32]]
我的输出应该是同一个对象列表,还有一列的值为9/5、13/7和32/3

listOfObjects = [['I', 5, 9, 1.8], ['Y', 7, 13, 1.85],['O', 3, 32, 10.66]]
以下是我尝试过的:

avgValueList = list(map(lambda x, y: y[2]/x[1],listOfObjects))
但这给了我一个错误:
TypeError:()缺少1个必需的位置参数:“y”

avgValueList = list(map(lambda x: x.append(x[2]/x[1]), listOfObjects))
ListoObjects的每个元素都是一个包含字符串和两个浮点数的列表。当映射到ListoObject时,这些列表中的每一个都成为lambda的参数
x
。这意味着
x[0]
是字符串,
x[1]
是第一个浮点数,
x[2]
是最后一个浮点数。因此,
lambda x:x[2]/x[1]
获取一个包含3个元素的列表,并将最后一个元素除以中间的元素。lambda不需要额外的参数。由于您希望附加到现有列表中,因此我们应该向lambda添加
x.append
,如下所示:
lambda x:x.append(x[2]/x[1])
。现在lambda将获取一个包含三个元素的列表,计算最后两个元素之间的除法,并在返回结果之前将结果附加到列表的末尾


ListoObjects的每个元素都是一个包含字符串和两个浮点数的列表。当映射到ListoObject时,这些列表中的每一个都成为lambda的参数
x
。这意味着
x[0]
是字符串,
x[1]
是第一个浮点数,
x[2]
是最后一个浮点数。因此,
lambda x:x[2]/x[1]
获取一个包含3个元素的列表,并将最后一个元素除以中间的元素。lambda不需要额外的参数。由于您希望附加到现有列表中,因此我们应该向lambda添加
x.append
,如下所示:
lambda x:x.append(x[2]/x[1])
。现在lambda将获取一个包含三个元素的列表,计算最后两个元素之间的除法,并在返回之前将结果附加到列表的末尾。

我的解决方案使用
pandas
Python模块

import pandas as pd

lst = [
    ['I', 5, 9],
    ['Y', 7, 13],
    ['O', 3, 32],
]

df = pd.DataFrame(lst)
df['result'] = list(map(lambda x: x[2]/x[1], lst))
print(df)

您可以通过键入'df.result'或
df['result']
来访问
result
列。我的解决方案使用
pandas
Python模块

import pandas as pd

lst = [
    ['I', 5, 9],
    ['Y', 7, 13],
    ['O', 3, 32],
]

df = pd.DataFrame(lst)
df['result'] = list(map(lambda x: x[2]/x[1], lst))
print(df)

您可以通过键入'df.result'或'code>df['result']来访问
result
什么是
列表对象
?为问题添加定义。嗨@DYZ,谢谢你的评论。ListOfObject包含一个字符串和两个浮点值。前三个打印语句是我的数据示例。请在问题中添加一个示例
listOfObjects
。您的代码示例必须是可复制的。好的,我已将问题更改为使代码可复制什么是
对象列表
?为问题添加定义。嗨@DYZ,谢谢你的评论。ListOfObject包含一个字符串和两个浮点值。前三个打印语句是我的数据示例。请在问题中添加一个示例
listOfObjects
。你的代码样本必须是可复制的。好的,我已经更改了我的问题以使代码可复制谢谢,但我不允许使用其他库。这里绝对不需要熊猫。谢谢,但我不允许使用其他库。这里绝对不需要熊猫。