[英]Subtract String List Elements from 2 lists
我有以下代码,它适用于从 2 个列表中添加字符串元素:
list_1 = ['2 Red', '8 Blue', '4 Green']
list_2 = ['10 Red', '2 Blue', '3 Green']
list_1.extend(list_2)
results = {}
for elem in list_1:
number, color = elem.split()
results[color] = results.get(color, 0) + int(number)
result = [f"{i} {p}" for i, p in zip(results.values(), results.keys())]
Output: ['12 Red', '10 Blue', '7 Green']
现在,我想对相同的元素做基本的减法,即 output 如下:
Output: ['8 Red', '6 Blue', '1 Green']
我以为我理解了我的代码,但显然我没有,我被 int(numbers) 的 + 运算符卡住了,我不理解 zip() function。 我希望你们能帮助我。
保持健康,度过美好的一天!
我们使用int
进行加法,因为要添加的数据是split
操作后的字符串。
其次,我们使用zip
方法在一个循环中将字典元素一起迭代。
此外,您可以使用abs
function 来获得问题第二部分的绝对值:
list_1 = ['2 Red', '8 Blue', '4 Green']
list_2 = ['10 Red', '2 Blue', '3 Green']
list_1.extend(list_2)
results = {}
for elem in list_1:
number, color = elem.split()
results[color] = abs(int(number) - results.get(color, 0) )
result = [f"{i} {p}" for i, p in zip(results.values(), results.keys())]
print(result)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.