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、执行后查看执行结果,可以发现求和后数据值。
python中如何让一个list里的数字部分相加
楼主你好!
重要的计算逻辑都写在代码中了,请参考:
# -*- coding: utf-8 -*-'''数据准备'''trans_map = {'Q': 12, 'J':11, '0': 10}target_list = ['2D', '3S', '4D', 'QD', '0S', 'JD']sum_value = 0for 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如有问题,欢迎追问,望采纳,谢谢!
2017-05-15
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、执行后查看执行结果,可以发现求和后数据值。
2020-01-04
可以根据字符串切片操作,来剥离第一个数字和第二个字母
参考代码.我再次发给你吧
#!/usr/bin/env python# -*- coding: utf-8 -*-# python 2.7import redef 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 "修改出来的数据",lidt = {"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']2017-05-15