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实战技巧之两个列表实例中,如何让里面的数字一一对应地相加对于两个列表是等长的情况