Python 3.x 如何在对象列表中划分两个元素?
我有一个对象列表(列表列表),其中包含一个字符串和两个浮点值。我必须使用lambda函数来分割两个浮点值。 这是我的示例数据: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
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
。你的代码样本必须是可复制的。好的,我已经更改了我的问题以使代码可复制谢谢,但我不允许使用其他库。这里绝对不需要熊猫。谢谢,但我不允许使用其他库。这里绝对不需要熊猫。