result = map(lambda a,b:a*b, zip(result_1, result_2))
print(list(result))
result_1,result_2是两个list,这个的输出结果是这样:
Traceback (most recent call last):
File "die_visual.py", line 42, in <module>
print(list(result))
TypeError: <lambda>() missing 1 required positional argument: 'b'
求大神解救
补充一下代码:
from die import Die
import pygal
# create D8(you know something named D8?LOL!It is a die!)
def result(die):
# store what happen when you roll a die
results = []
for roll_num in range(1000):
result = die.roll()
results.append(result)
return results
def frequencies(results):
# analysis the result
frequencies = []
for value in range(1**2, 8**2 + 1):
frequency = results.count(value)
frequencies.append(frequency)
return frequencies
def vis_r(frequencies):
#visual the result
hist = pygal.Bar()
hist.title = 'Results of rolling a D8 1000 times'
hist.x_labels = ['1', '2', '3', '4', '5', '6', '7', '8']
hist.x_title = 'result'
hist.y_title = 'frequency of result'
hist.add('D8', frequencies)
hist.render_to_file('die_visual1.svg')
#print(frequencies)
die1 = Die()
die2 = Die()
result_1 = result(die1)
result_2 = result(die2)
result = map(lambda a,b:a*b, zip(result_1, result_2))
print(list(result))
#frequency = frequencies(result)
#vis_r(frequency)
这个是在学《python编程:从入门到精通》这本书的时候遇到的问题,涉及到2个或以上的数组的合并(合并方式可自定义),主要使用的方法是zip和map,以及使用lambda来定义合并方式。
自从4月2日开始工作以来,已经过了2个月的时间,这期间还有了解过一些区块链的知识,以及一直在看的数学,和一些其他的书,接下来主要记录下自己这两个月来的学习经历和心得。
扫描二维码关注公众号,回复:
4163275 查看本文章
此期间所读书籍
- python学习所用书籍:《python编程:从入门到实践》,《集体智慧编程》
- 提升学习能力所读书籍:《暗时间》,《》
- 其他书籍:《朝闻道》,《带上她的严峻》,《古今数学思想》,《陶哲轩教你学数学》,《区块链:从数字货币到信用社会》,《区块链:技术驱动金融》,《牧羊少年奇幻之旅》(是的,从看NBA了解到的一本帅气的书),《让excel飞》(作为一名刚开始工作的小白,花了一些时间好好读了一下这本书。。。)
此期间学习策略
说来惭愧,刚开始工作2个月,工作真的是挺轻松的,每天7.5个小时,至少有一半的时间可以用来学习其他的东西。所以我一般都是早上将当天所有的工作全部处理完,然后下午就开始学习python或者是看一些其他的书籍。(待继续编辑)