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 - Fatal编程技术网

如何将列表和整数添加/组合到列表(Python)中?

如何将列表和整数添加/组合到列表(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

我试图在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.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))]