python中如何让一个list里的数字部分相加

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中如何让一个list里的数字部分相加相关的知识,希望对你有一定的参考价值。

还有如何让list中的某个元素等于另一个?
比如['2D', '3S', '4D', 'QD', '0S', 'JD']
我想求每个单独元素的第一个的和该怎么弄(2,3,4,Q,0,J)
让Q=12,J=11,0=10
2+3+4+Q+0+J=2+3+4+12+10+11=32

1、创建python文件,testsum.py;

2、编写python代码,初始化list内容;

dt = "0": "10", "J": "11", "Q": "12"

test = ['2D', '3S', '4D', 'QD', '0S', 'JD']

3、编写函数,进行list内容求和;

def func(li):

   nums = []

   result = 0

   for index, s in enumerate(li):

      tp = s[0]

      if tp in dt:

         nums.append(dt.get(tp))

         li[index] = dt.get(tp)+s[1]

         result += int(dt.get(tp))

      else:

         nums.append(tp)

         result += int(tp)

   print('单独出来的数字',nums)

   print('转换后的求和值',result)

func(test)

4、右键选择‘在终端中运行Python文件’;

5、执行后查看执行结果,可以发现求和后数据值。

参考技术A

可以根据字符串切片操作,来剥离第一个数字和第二个字母

参考代码.我再次发给你吧

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# python 2.7

import re


def func(li):
    nums = []
    for index, s in enumerate(li):
        tp = s[0]
        if tp in dt:
            nums.append(dt.get(tp))
            li[index] = dt.get(tp)+s[1]
        else:
            nums.append(tp)
    print "单独出来的数字",nums
    print "修改出来的数据",li

dt = "0": "10", "J": "11", "Q": "12"
test = ['2D', '3S', '4D', 'QD', '0S', 'JD']
func(test)

输出

单独出来的数字 ['2', '3', '4', '12', '10', '11']
修改出来的数据 ['2D', '3S', '4D', '12D', '10S', '11D']

参考技术B

楼主你好!

重要的计算逻辑都写在代码中了,请参考:

# -*- coding: utf-8 -*-

'''数据准备'''
trans_map = 'Q': 12, 'J':11, '0': 10
target_list = ['2D', '3S', '4D', 'QD', '0S', 'JD']

sum_value = 0
for single_str in target_list:
    '''取出列表中数字的第一个'''
    operate_num = single_str[0]
    '''如果需要转换,则按转换规则取数
    否则,直接求和'''
    if trans_map.has_key(operate_num):
        sum_value += trans_map[operate_num]
    else:
        sum_value += int(operate_num)
'''打印结果'''
print sum_value

如有问题,欢迎追问,望采纳,谢谢!

本回答被提问者采纳

python实战技巧之两个列表实例中,如何让里面的数字一一对应地相加对于两个列表是等长的情况

产生需求的原因:

最近都在使用python做一些小demo,尤其是经常会用python做一些关于数据处理的操作,于是就产生问题:怎么才能让处理数据时有更好的且直接能上手的案例呢?换言之就是python有什么“奇淫技巧”可以帮助我快速处理数据呢?于是搜集一些案例,结合自己实际工作需要,将这些案例做成连续更新篇,今天来讲一个,即两个列表实例中,如何让里面的数字一一对应地相加【对于两个列表是等长的情况】

需求目标:

搜集针对python高效处理数据的核心代码,今天是实现两个列表实例中,如何让里面的数字一一对应地相加【对于两个列表是等长的情况】

具体实操:
两个列表实例中,如何让里面的数字一一对应地相加【对于两个列表是等长的情况】
关键词:array、list
案例:

# 定义列表一的内容
a_list = [1,2,3,4,5,6]
# 定义列表二的内容
b_list = [9,8,7,6,5,4]
# 导入numpy库
import numpy as np
# 将列表一和列表二的数据转换成数组数据
a_arr = np.array(a_list)
b_arr = np.array(b_list)
# 两数组内容开始一一对应相加【同理:减、乘、除也是可以的】
add_arr = a_arr + b_arr
# 将相加后的数组内容重新转化成列表型数据
add_list = list(add_arr)
# 输出相加后的列表数据
print(add_list)

结语:
这个是一个连续篇,如果有新的python实用案例,会持续更新

以上是关于python中如何让一个list里的数字部分相加的主要内容,如果未能解决你的问题,请参考以下文章

python实战技巧之两个列表实例中,如何让里面的数字一一对应地相加对于两个列表是等长的情况

js数组相加

python实战技巧之两个不等长列表让里面的数字一一对应地相加

DAX函数 怎么让两列相加?

C# 如何把两个list的元素相加

python中列表元素求和