如何将列表和整数添加/组合到列表(Python)中?
我试图在if语句中添加列表,并在elif语句中添加数字。如何将它们相加以获得结果输出如何将列表和整数添加/组合到列表(Python)中?,python,Python,我试图在if语句中添加列表,并在elif语句中添加数字。如何将它们相加以获得结果输出 def sorting(tup1, tup2): output = [] sumVal = 0 wholeTup = tup1 + tup2 for i in range(0, len(wholeTup)): if i % 2 == 0 or i == 0: word = wholeTup[i].title() output.appe
def sorting(tup1, tup2):
output = []
sumVal = 0
wholeTup = tup1 + tup2
for i in range(0, len(wholeTup)):
if i % 2 == 0 or i == 0:
word = wholeTup[i].title()
output.append(word)
output.sort()
elif i % 2 != 0:
sumVal = sumVal + wholeTup[i]
return output
print(sorting(("Bob",21,"kelly",21), ("morgan",10,"Anna",2)))
输出应该类似于:
["Anna", "Bob", "Kelly", "Morgan", 54]
他们的名字按字母顺序排列,年龄加在一起
我知道if语句将为我提供这部分输出:
["Anna", "Bob", "Kelly", "Morgan"]
elif声明将给出以下部分:
54
我怎样才能把这两者结合起来呢?甚至可以组合if语句和elif语句的输出吗?您只需添加以下行:
output.append(sumVal)
在return
语句之前添加程序,以添加元组奇数部分的总和,如:
def sorting(tup1, tup2):
output = []
sumVal = 0
wholeTup = tup1 + tup2
for i in range(0, len(wholeTup)):
result = " "
if i % 2 == 0 or i == 0:
word = wholeTup[i].title()
output.append(word)
output.sort()
elif i % 2 != 0:
sumVal = sumVal + wholeTup[i]
output.append(sumVal) # append the total age to the final result
return output
在这里,sorted(…)
将捕获范围(0,len(wholeTup),2)内i的生成器wholeTup[i]的所有元素
,并用排序的元素构建一个列表。在这里,生成器将发射位于偶数位置的所有元素
此外,另一方面,sum(…)
将对范围(1,len(wholeTup),2)
中i的生成器wholeTup[i]生成的元素进行求和,并生成年龄的总和(位于奇数位置的元素)。我们用该结果构造一个单例列表[…]
,并将其附加到排序(…)
调用的结果中。这是我们返回的最终结果
,因此您希望对偶数索引上的元组中的名称进行排序,并对年龄进行汇总?如果您确切解释了输出的标准,这实际上会有所帮助吗?必须通过运行代码和进行故障排除来猜测和解决问题并不是很有趣。您所展示的代码到底有什么问题?如何组合if语句和elif语句的输出@RoryDaultonYes@willemvanonsem如果其中一个人的名字是一个“无”而不是一个整数怎么办?@aj2929:两个程序都会出错。在这种情况下会发生什么?在这种情况下,尝试/例外会起作用吗?像这样试试。。除了TypeError,请改为执行此操作@WillemVanOnsem@aj2929:如果不先定义预期行为,您如何知道这一点。为了解决一个问题:首先必须定义所有的角点和边情况。然后你可以考虑如何实现它。这就像问“一把锤子能不能用?”而不知道你想解决什么任务。
def sorting(tup1, tup2):
wholeTup = tup1 + tup2
return sorted(wholeTup[i] for i in range(0,len(wholeTup),2)) + \
[sum(wholeTup[i] for i in range(1,len(wholeTup),2))]