1. 程式人生 > >python3中的有關map的一些問題及近期python學習記錄

python3中的有關map的一些問題及近期python學習記錄

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個月的時間,這期間還有了解過一些區塊鏈的知識,以及一直在看的數學,和一些其他的書,接下來主要記錄下自己這兩個月來的學習經歷和心得。

此期間所讀書籍

  • python學習所用書籍:《python程式設計:從入門到實踐》,《集體智慧程式設計》
  • 提升學習能力所讀書籍:《暗時間》,《》
  • 其他書籍:《朝聞道》,《帶上她的嚴峻》,《古今數學思想》,《陶哲軒教你學數學》,《區塊鏈:從數字貨幣到信用社會》,《區塊鏈:技術驅動金融》,《牧羊少年奇幻之旅》(是的,從看NBA瞭解到的一本帥氣的書),《讓excel飛》(作為一名剛開始工作的小白,花了一些時間好好讀了一下這本書。。。)

此期間學習策略

    說來慚愧,剛開始工作2個月,工作真的是挺輕鬆的,每天7.5個小時,至少有一半的時間可以用來學習其他的東西。所以我一般都是早上將當天所有的工作全部處理完,然後下午就開始學習python或者是看一些其他的書籍。(待繼續編輯)