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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于“更新set”的作業(yè)

作業(yè)任務(wù)如下:

針對(duì)下面的set,給定一個(gè)list,對(duì)list中的每一個(gè)元素,如果在set中,就將其刪除,如果不在set中,就添加進(jìn)去。

s = set(['Adam', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']

我的代碼是:

s = set(['Adam', 'Lisa', 'Paul'])

L = ['Adam', 'Lisa', 'Bart', 'Paul']

??? for y in L:

????? for x in s:

??????? if y==x:

??????????? s.remove(x)

??????? else:

???????? ?? s.add(y)

?

?

?結(jié)果就出錯(cuò)了:

Traceback (most recent call last):

? File "<pyshell#54>", line 2, in <module>

??? for x in s:

RuntimeError: Set changed size during iteration


正在回答

3 回答

for y in L: ? ?于s,L定義是平級(jí)的 ?不要加4個(gè)空格

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

ninebean90 提問者

非常感謝!
2016-08-27 回復(fù) 有任何疑惑可以回復(fù)我~
#2

ninebean90 提問者

>>> s=set(['Adam','Paul']) >>> L=['Adam','Lisa','Bart','Paul'] >>> for y in L: for x in s: if y==x: s.remove(x) else: s.add(y) for x in s: RuntimeError: Set changed size during iteration
2016-08-27 回復(fù) 有任何疑惑可以回復(fù)我~
#3

ninebean90 提問者

還是有問題
2016-08-27 回復(fù) 有任何疑惑可以回復(fù)我~
#4

慕慕0567836 回復(fù) ninebean90 提問者

for 循環(huán)的時(shí)候不要修改被循環(huán)的對(duì)象,添加及刪除被循環(huán)對(duì)象的元素會(huì)出現(xiàn)意想不到的問題
2016-08-27 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

這樣寫就算運(yùn)行正確結(jié)果也肯定錯(cuò)了:

  1. set屬于無序列表,你這樣每次直接往里面插入或者刪除數(shù)據(jù)后,序列肯定會(huì)有變化

  2. 按照你這樣循環(huán)屬于死循環(huán),例如第一次循環(huán),你就給s中新增了?'Lisa', 'Paul',s就變成set(['Lisa', 'Paul', 'Lisa', 'Paul']),按照這樣就陷入了死循環(huán),你可以自己推一下就知道了

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

ninebean90 提問者

不太明白,可以詳細(xì)講一下為什么會(huì)給s新增‘Lisa’,‘Paul’么?
2016-11-25 回復(fù) 有任何疑惑可以回復(fù)我~

for y in L: ? 前面多家了空格

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
初識(shí)Python
  • 參與學(xué)習(xí)       758364    人
  • 解答問題       8967    個(gè)

學(xué)python入門視頻教程,讓你快速入門并能編寫簡(jiǎn)單的Python程序

進(jìn)入課程

關(guān)于“更新set”的作業(yè)

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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