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

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

如何僅在特定索引處加入字符串列表

如何僅在特定索引處加入字符串列表

躍然一笑 2022-07-12 15:24:28
我試圖僅在 Python 中的特定索引處將字符串列表中的特定字符串連接在一起。想象一下你有清單['foo', 'bar', 'baz', 'qux', 'quux']我想最終得到以下列表:['foo', 'bar baz', 'qux', 'quux']鑒于字符串列表包含字符串baz。解決此問題的最有效方法是什么?
查看完整描述

3 回答

?
素胚勾勒不出你

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

index = 2

ss = ['foo','bar','far','car','sar']

ss[index] = ' '.join(ss[index:index+2])

ss.pop(index+1)

print(ss)

我希望這可行,因?yàn)樗恍枰獎(jiǎng)?chuàng)建新列表


查看完整回答
反對(duì) 回復(fù) 2022-07-12
?
慕田峪7331174

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

i = 0

while i < len(s):

    print(s[i])

    if s[i] == 'baz' and i != 0:

        s[i - 1] += ' '

        s[i - 1] += ''.join(s[i])

        s.pop(i)

        i = i - 1

    i = i + 1

上面的代碼遍歷列表,在找到 'baz' 的地方,它將 'baz' 連接到前面的元素。這無法使用 for 循環(huán)、 byfor i in s或來實(shí)現(xiàn)for i in range(len(s))。在代碼中,由于 s.pop() 導(dǎo)致 len(s) 發(fā)生變化,因此i = i - 1是必要的,但for i in range(len(s))不允許更改 i 的值,因?yàn)樗潭閺?0 變?yōu)?len(s)。對(duì)于為什么不使用 for 循環(huán)有任何疑問,請(qǐng)考慮以下代碼:-


for i in range(len(s)):

    print(s[i])

    if s[i] == 'baz':

        s.pop(i)

    i = i - 1

這輸出


foo

bar

baz

quux

---------------------------------------------------------------------------

IndexError                                Traceback (most recent call last)

<ipython-input-223-8034ffc6ca03> in <module>()

      1 for i in range(len(s)):

----> 2     print(s[i])

      3     if s[i] == 'baz':

      4         s.pop(i)

      5     i = i - 1


IndexError: list index out of range

可以看出,它并沒有遍歷所有元素。由于 s.pop(),len(s) 減少到 4,s[3] 變成了 'quux',而不是 'qux'。盡管 i 存在i - 1,但它會(huì)引發(fā)錯(cuò)誤。因此,while循環(huán)解決了這個(gè)問題。


查看完整回答
反對(duì) 回復(fù) 2022-07-12
?
神不在的星期二

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

你可以試試這個(gè):


>>> l = ['foo', 'bar', 'baz', 'qux', 'quux']

>>> index = 2

>>> l[index - 1] = f'{l[index-1]} {l.pop(index)}'

>>> l

['foo', 'bar baz', 'qux', 'quux']

定時(shí):


382 ns ± 0.455 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)


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

添加回答

舉報(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)