Python中的列表条件求和方法

目录
  • 列表条件求和方法
  • 利用列表求和函数(可接收无数个参数求和)

列表条件求和方法

list_data=[
	[1.0, '配件', '522422', '铝扣板用纽扣', '金色', '', 72.0, 'PC', ''],
	[2.0, '配件', '500031', '十字槽沉头自钻自攻螺钉4.2*45', '原色', '', 72.0, 'PC', ''],
	[1.0, '配件', '522422', '铝扣板用纽扣', '原色', '', 24.0, 'PC', ''],
	[2.0, '配件', '500031', '钢钉', '原色', '', 24.0, 'PC', ''],
	[1.0, '配件', '522422', '铝扣板用纽扣', '原色', '', 50.0, 'PC', ''],
	[2.0, '配件', '500031', '十字槽沉头自钻自攻螺钉4.2*45', '原色', '', 50.0, 'PC', '']
]
tiaojian=[1,2,3,4,5,7]
QHX=6
def tj_sum(list_data,tiaojian,QHX):#(列表,求和条件列,求和项)
	zidian={}
	for i in range(0,len(list_data)):
		jian=''
		for p in range(0,len(tiaojian)):
			jian=jian+str(list_data[i][tiaojian[p]])+','
		if jian in zidian:
			zidian[jian][QHX]=float(zidian[jian][QHX])+list_data[i][QHX]
		else:
			zidian[jian]=list_data[i]
	return list(zidian.values())
jieguo=tj_sum(list_data,tiaojian,QHX)#输入参数(列表,求和条件列,求和项)序号是0开始
print(jieguo)

利用列表求和函数(可接收无数个参数求和)

注意:append与直接使用下标赋值的区别

numbeer = []#定义空列表用[]而不是{}
def summ(numbeer):
    c = 0
    for x in range(0, numbeer.__len__()):#range中需要跟上具体数字
        a = numbeer[x]
        c += a
        x += 1
    return c
a = x = 0
while True:
    a = int(input('请输入需要一个求和的参数: '))
    numbeer.append(a)#append与直接使用下标赋值的区别:append即便是空列表仍可以赋值,但下标赋值法不适用于空列表。
    x += 1
    c = input('继续请按空格键 否则退出')
    if c != ' ':
        break
c = summ(numbeer)#使用带有返回值的函数,必须给以变量存储返回值
print(c)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 在python中实现对list求和及求积

    如下所示: # the basic way s = 0 for x in range(10): s += x # the right way s = sum(range(10)) # the basic way s = 1 for x in range(1, 10): s *= x # the other way from operator import mul reduce(mul, range(1, 10)) 以上这篇在python中实现对list求和及求积就是小编分享给大家的全部内容了,希

  • Python之list对应元素求和的方法

    本次分享将讲述如何在Python中对多个list的对应元素求和,前提是每个list的长度一样.比如:a=[1,2,3], b=[2,3,4], c=[3,4,5], 对a,b,c的对应元素求和,输出应为[6,9,12]. 方法一: 直接求解,按照对应元素相加的原则,可先定义一个函数. def list_add(a,b): c = [] for i in range(len(a)): c.append(a[i]+b[i]) return c if __name__ == '__main__': a

  • python用for循环求和的方法总结

    Python中可以使用for循环实现累加求和 for循环语法: for 变量 in range(x): 循环需要执行的代码 如下实现1到n求和: def main(): sum = 0 # 定义变量做累加器 n = int(input('n=')) #从键盘上输入累加的范围 for x in range(n): sum += (x + 1) print(sum) if __name__ == '__main__': main() 用for循环实现1~n求和的方法 def main():   su

  • Python中的列表条件求和方法

    目录 列表条件求和方法 利用列表求和函数(可接收无数个参数求和) 列表条件求和方法 list_data=[ [1.0, '配件', '522422', '铝扣板用纽扣', '金色', '', 72.0, 'PC', ''], [2.0, '配件', '500031', '十字槽沉头自钻自攻螺钉4.2*45', '原色', '', 72.0, 'PC', ''], [1.0, '配件', '522422', '铝扣板用纽扣', '原色', '', 24.0, 'PC', ''], [2.0, '配

  • Python中list列表的赋值方法及遇到问题处理

    目录 1.列表list赋值方法 2.浅拷贝(shallowcopy) 3.深拷贝 4.关于拷贝操作的提醒 问题起源: 本文的原因是因为在使用list的直接赋值b=a时,得到的结果与预期不同,后来才发现直接使用等于号=对列表进行赋值会产生一系列的问题,于是将赋值.浅拷贝.深拷贝三者之间的区别进行记录. 1.列表list赋值方法 在python中,对象的赋值就是简单的对象引用,这点和C++是不同的, 如下例子所示: a = ['a', 'b', 'c'] b = a   # 采用简单的=赋值 pri

  • 在Python中处理列表之reverse()方法的使用教程

    reverse()方法代替逆转列表对象. 语法 以下是reverse()方法的语法: list.reverse() 参数 NA 返回值 此方法不返回任何值,但反转列表中的给定对象. 例子 下面的例子显示了reverse()方法的使用. #!/usr/bin/python aList = [136, 'xyz', 'zara', 'abc', 'xyz','hema']; aList.reverse(); print "List : ", aList; 当我们运行上面的程序,它会产生以下

  • Python中遍历列表的方法总结

    Python中遍历列表有以下几种方法: 一.for循环遍历 lists = ["m1", 1900, "m2", 2000] for item in lists: print(item) lists = ["m1", 1900, "m2", 2000] for item in lists: item = 0; print(lists) 运行结果: ['m1', 1900, 'm2', 2000] 二.while循环遍历: li

  • Python 中判断列表是否为空的方法

    在判断列表是否为空时,你更喜欢哪种方式?决定因素是什么? 在 Python 中有很多检查列表是否是空的方式,在讨论解决方案前,先说一下不同方法涉及到的不同因素. 我们可以把判断表达式可以分为两个阵营: 对空列表的显式比较 对空列表的隐式求值 这意味着什么? 显式比较 我们从显式比较开始说起,无论我们使用列表符号 [] 还是声明空列表的函数 list() ,遵循的策略是查看待检查列表是否与空列表完全相等. # 都是用来创建空列表 a = [] b = list() print(a == b) #

  • python中对二维列表中一维列表的调用方法

    python调用二维列表中的一维列表的方法: 访问二维列表中的一维列表可以用下标法"列表名(数字)"的方式获取到一维列表所有元素 x = [[23, 25, 15, 69, 48], [53, 98, 87, 478, 365], [231, 55, 653, 589, 545, 123]] print(x[0]) 执行结果: 内容扩展: 二维列表转一维列表 from compiler.ast import flatten a=[[1,2],[5,6]] print(flatten(a

  • python中list列表复制的几种方法(赋值、切片、copy(),deepcopy())

    目录 1.浅拷贝和深拷贝 2.直接赋值 3.for循环 4.切片 5.copy()方法 (1)list.copy()方法 (2)copy.copy()方法 6.deepcopy()方法 1.浅拷贝和深拷贝 浅拷贝复制指向某个对象的地址(指针),而不复制对象本身,新对象和原对象共享同一内存. 深拷贝会额外创建一个新的对象,新对象跟原对象并不共享内存,修改新对象不会影响到原对象. 赋值其实就是引用了原对象.两者指向同一内存,两个对象是联动的,无论哪个对象发生改变都会影响到另一个. 2.直接赋值 使用

  • python中list列表删除元素的四种方法实例

    目录 在python列表中删除元素主要分为以下3种场景: del:根据索引值删除元素 pop():根据索引值删除元素 remove():根据元素值进行删除 clear():删除所有元素 补充: 删除元素的变相方法 总结 在python列表中删除元素主要分为以下3种场景: 根据目标元素所在的索引位置进行删除,可以使用del关键字或pop()方法: 根据元素本身的值进行删除,可使用列表(list类型)提供的remove()方法: 将列表中所有元素全部删除,可使用列表(list类型)提供的clear(

  • python中删除某个元素的方法解析

    这篇文章主要介绍了python中删除某个元素的方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python中关于删除list中的某个元素,一般有三种方法:remove.pop.del 1.remove: 删除单个元素,删除首个符合条件的元素,按值删除 举例说明: >>> str=[1,2,3,4,5,2,6] >>> str.remove(2) >>> str [1, 3, 4, 5, 2,

  • Python 的 sum() Pythonic 的求和方法详细

    目录 1.理解求和问题 2.Python 入门 sum() 2.1 必需的参数: iterable 2.2 可选参数: start 3.对数值求和 4.连接序列 5.使用 Python 进行练习 sum() 5.1 计算累积和 5.2 计算样本的平均值 5.3 求两个序列的点积 5.4 展平列表列表 6.使用替代品 sum() 6.1 对浮点数求和: math.fsum() 6.2 连接可迭代对象 itertools.chain() 6.3 连接字符串 str.join() 7.结论 前言: 我

随机推荐