第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在 Python 中修改列表中的列表?

如何在 Python 中修改列表中的列表?

動(dòng)漫人物 2021-07-16 18:03:48
所以,我試圖使我的列表中的元素大寫,但我無法使標(biāo)準(zhǔn)的 something.upper(),我猜測(cè)是因?yàn)榱斜碇械牧斜怼M鈪R:names = [['henry', 'mike'],'jones', 'kevin',['michael', 'simon']]我該怎么做呢?
查看完整描述

3 回答

?
蕭十郎

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊

檢查元素是否為列表字符串類型


for i in names:

    if isinstance(i,list):

        for inner_element in i:

            print(inner_element.upper())

    elif isinstance(i,str): # to handle the case if ints are also present

        print(i.upper())

如果要替換現(xiàn)有列表中的值


for index,i in enumerate(names):

    if isinstance(i,list):

        temp=[]

        for inner_element in i:

            temp.append(inner_element.upper())

        names[index]=temp

    elif isinstance(i,str):

        names[index]=i.upper()


查看完整回答
反對(duì) 回復(fù) 2021-07-27
?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊

如果預(yù)先不知道列表的深度,您可以嘗試此操作。


輸入:


names=['jones', 'kevin', ['henry', 37, ['a', 0.69999]], ['michael', True]]

功能:


def recursive_upper(names):

 ret_list=[]

 for x in names:

     if isinstance(x, list):

         ret_list.append(recursive_upper(x))

     elif (isinstance(x, basestring) or isinstance(x, int) or isinstance(x, float) \

           or isinstance(x, long) or isinstance(x, bool) or isinstance(x, complex)):

         ret_list.append(str(x).upper())

 return ret_list


print recursive_func(names)

輸出:


['JONES', 'KEVIN', ['HENRY', '37', ['A', '0.69999']], ['MICHAEL', 'TRUE']]

該函數(shù)只是檢查類型,如果類型是列表,則遞歸調(diào)用自身。當(dāng)它找到字符串、int、float、long、bool 或復(fù)雜類型時(shí),它會(huì)繼續(xù)返回文本的大寫版本。所有其他類型都被簡(jiǎn)單地忽略。(您可以在 elif 條件中添加/刪除類型。請(qǐng)參閱此處)


查看完整回答
反對(duì) 回復(fù) 2021-07-27
?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊

您可以按如下方式使用列表推導(dǎo)式:

uppercase_names = [ name.upper() if isinstance(name, str) else [n.upper() for n in name if isinstance(n, str)] for name in names ]

基本上,我們isinstance(name, str)用來檢查對(duì)象是否實(shí)際上是一個(gè)字符串對(duì)象。

如果列表中有整數(shù),您可以使用這個(gè)復(fù)雜的理解:

uppercase_names = [ name.upper() if isinstance(name, str) else name if isinstance(name, int) else [ n.upper() if isinstance(n, str) else n if isinstance(n, int) else n for n in name ] for name in names ]



查看完整回答
反對(duì) 回復(fù) 2021-07-27
  • 3 回答
  • 0 關(guān)注
  • 305 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)