亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

既然s是一個list, 為什么s[0]不是第一個字符串adam,而是每個字符串的首字母呢?

如題,本來想用2個for循環來遍歷每個字符串的各個字母,比如把首字母大寫:s[i][0].upper(), 看了答案后,發現自己想多了,為什么s[0]可以代表各個字符串的首字母呢?

正在回答

8 回答

其實可以這樣理解,map()中的list列表里的每一個元素依次進入format_name中去執行s[0].upper()+s[1:].lower()這個操作(其實就是for循環的過程),s[0]指的是原先list中進入的元素的首字母(下標為0),最后以一個新列表的形式出來,自然就是['Adam', 'Lisa', 'Bart']

2 回復 有任何疑惑可以回復我~

map(函數名,list)

map函數兩個參數的意思是 :參數1(是個函數)遍歷接收參數list里的元素

比如說?

list = [1,2,3,4];

def?f(x):
????return?x*x

那么 result = map(f,list) 的結果就是 [f(1),f(2),f(3),f(4)]?

所以map(f,list)的本質其實可以理解為

L=[];

for x in list:

? ? L.append(x*x)


?


2 回復 有任何疑惑可以回復我~

s=abcsd

s[0]=a? ? ? ? ? ?應該是這樣吧我也是菜

0 回復 有任何疑惑可以回復我~

嗯,我也犯這個錯誤了。我理解下來差不多是這樣,map遍歷列表里的每一個元素,map所接收的兩個參數,第一個參數是函數,第二個參數是列表。那第一個函數參數:所接收的參數是列表的每一個元素而不是整個列表。所以這里的s是列表里的第一個字符串,s[0]是第一個字符串的第一個字符。https://img1.sycdn.imooc.com//5bffe5d00001395012020135.jpg

4 回復 有任何疑惑可以回復我~
#1

慕先生5781448

有一點打錯了,不是第一個字符串,是每一個字符串
2018-11-29 回復 有任何疑惑可以回復我~

因為map就是要遍歷每一個元素 所以s就是每一個字符串的意思 s[0]就是字符串的首字母吧

0 回復 有任何疑惑可以回復我~

s代表一個字符串 然后依次用map()函數依次作用

0 回復 有任何疑惑可以回復我~

s[0]是第一個字符串吧。

0 回復 有任何疑惑可以回復我~

所謂字符串, 是指在一對引號內的所有字符組成的整體, 其中的字母數字空格或其他符號都是一個字符. 如 "python is good!"被看作是一個字符串, 里面的字母"p"或空格" "其實是被一視同仁地認作一個字符, 所以也就沒有單詞的概念了. 一個字符串中的所有字符都用一維索引, 即s[i].

換個角度看, 計算機就是個機器, 它并不具備人的分析理解能力, 所以在看到一串字符的時候它并不會自動去按照空格分割單詞, 機器分割單詞更近似于人的閱讀理解, 其實已經有點涉及自然語言處理這一大具體的應用了.

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
python進階
  • 參與學習       255563    人
  • 解答問題       3038    個

學習函數式、模塊和面向對象編程,掌握Python高級程序設計

進入課程

既然s是一個list, 為什么s[0]不是第一個字符串adam,而是每個字符串的首字母呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號