【发布时间】:2020-01-28 19:34:27
【问题描述】:
我有这个二维列表。我想推导出销量最多的凸轮模型,并且该阵列有 2 个模型与之相关。我定义了一个函数来返回品牌的数量和索引。数量和索引被附加到一个新列表中,但是当我尝试连接原始二维列表中的值时,连接不成功,它只显示第一个模型的名称。有人可以解释这里出了什么问题吗?
UnitSold = [['Dash Cam Model', 'SJ Branch', 'PJ Branch', 'KL Branch'], ['RS Pro with GPS', 5, 4, 3],
['Transcend Drive Pro', 2, 2, 3], ['H203 1080P', 3, 2, 5], ['Pioneer', 4, 5, 3]]
def maxItem():
n = 0
k: list = []
for i in range(1, len(UnitSold)):
m = 0
for j in range(1, len(UnitSold[i])):
m += UnitSold[i][j]
if m >= n:
n = m
k.append(n)
k.append(i)
return k
return k
此方法有效,并且当您打印此函数时,列表会附加 4 个值。
而此方法仅打印 2 个值,即总数量和较早加载的型号名称。
def maxItem():
n = 0
k: list = []
str = ""
for i in range(1, len(UnitSold)):
m = 0
for j in range(1, len(UnitSold[i])):
m += UnitSold[i][j]
if m >= n:
n = m
str += UnitSold[i][0]
return str, n
return str, n
【问题讨论】:
-
我真的很难理解你在这里想要实现的目标,如果我错了,请纠正我。你希望你的函数返回两个绑定的模型吗?如果是这种情况,当你击中第一个项目时,你会提前返回,这会让你失去你的功能。
-
@Axe319 不,我希望 concat 方法起作用。我创建了 list append 方法来测试该方法是否返回 4 个值,并且确实如此。但是当我在 concat 中做同样的事情时它只返回 2 个值。
标签: python-3.x list string-concatenation