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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

[python] 根據(jù)字典中的信息生成列表,每次都會額外變長。

[python] 根據(jù)字典中的信息生成列表,每次都會額外變長。

元芳怎么了 2019-02-18 18:00:36
需求 key_counts中保存了key和value。生成一個列表,根據(jù)value的數(shù)字,生成value個key。 問題 發(fā)現(xiàn)每循環(huán)一次,生成的新列表末尾就會多一個空值。 代碼 key_counts = [{'key': 'qj', 'value': 3}, {'key': 'wuhan', 'value': 2}, {'key': 'xy', 'value': 2}, {'key': 'zz', 'value': 10}] total = 17 # 上面字段中數(shù)值的和,初始化一個同樣長度的列表 v1 = ['' for x in range(total)] print(v1) count = 0 for key_count in key_counts: start = count end = start + key_count['value'] - 1 count = end + 1 print(start, end, key_count['key']) xlist = [key_count['key'] for x in range(key_count['value'])] print(xlist) v1[start:end] = xlist print(v1) 輸出結(jié)果 ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']0 2 qj['qj', 'qj', 'qj']['qj', 'qj', 'qj', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']3 4 wuhan['wuhan', 'wuhan']['qj', 'qj', 'qj', 'wuhan', 'wuhan', '', '', '', '', '', '', '', '', '', '', '', '', '', '']5 6 xy['xy', 'xy']['qj', 'qj', 'qj', 'wuhan', 'wuhan', 'xy', 'xy', '', '', '', '', '', '', '', '', '', '', '', '', '']7 16 zz['zz', 'zz', 'zz', 'zz', 'zz', 'zz', 'zz', 'zz', 'zz', 'zz']['qj', 'qj', 'qj', 'wuhan', 'wuhan', 'xy', 'xy', 'zz', 'zz', 'zz', 'zz', 'zz', 'zz', 'zz', 'zz', 'zz', 'zz', '', '', '', ''] 列表末尾,每循環(huán)了一次,都被多增加了一個元素(可能理解錯誤。)
查看完整描述

2 回答

?
FFIVE

TA貢獻1797條經(jīng)驗 獲得超6個贊

list 切片錯誤。
應(yīng)改為:

v1[start:(end+1)] = xlist
查看完整回答
反對 回復(fù) 2019-03-01
?
三國紛爭

TA貢獻1804條經(jīng)驗 獲得超7個贊

end = start + key_count['value'] - 1
xlist = [key_count['key'] for x in range(key_count['value'])]
主要問題出在這兩句代碼上
每次切片的長度,比xlist長度小1
而且Python的切片賦值,并不要求需要長度一致,例如:
L=[1]
L[:1]=[5,5,5]

因為循環(huán)中每次的切片賦值時,都使v1的長度增加了1,所以出現(xiàn)了你疑惑的現(xiàn)象

查看完整回答
反對 回復(fù) 2019-03-01
  • 2 回答
  • 0 關(guān)注
  • 589 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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