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

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

是否有一個簡單的列表表達式可以獲取列表中項目的索引但不獲取列表中項目的值?

是否有一個簡單的列表表達式可以獲取列表中項目的索引但不獲取列表中項目的值?

慕森王 2022-06-28 16:01:32
給定一個列表,z = [1, 5, 10, 100, etc...] 想要獲取列表中項目的位置,而不是使用列表表達式而不是其他方法獲取項目的值。我知道三個選項:[1] 使用 range 和 length 函數 for i in range(len(z)): [2] 使用 enumerate 函數并省略值 answer = [i for i,v in enumerate(z)] [3] 將 range 和 len 函數放在列表表達式中b = [i for i in range(len(z))]...總之,是否有一個函數可以替換enumerate或range(len())僅返回索引而不必丟棄v。# example listz = [1, 20, 50, 100, 50]# using the range and len functionsfor i in range(len(z)):    print(i)# the enumerate method (ignoring v)answer = [i for i,v in enumerate(z)]print(answer)# the range(len()) inside a list expressionanswer = [i for i in range(len(z))]print(answer)想要的答案:[0, 1, 2, 3, 4]
查看完整描述

3 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

不需要列表表達式,您可以使用:

list(range(len(z)))


查看完整回答
反對 回復 2022-06-28
?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

沒有您正在尋找的功能。

我認為range(len(z))將是最好的選擇。


查看完整回答
反對 回復 2022-06-28
?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

沒有內置函數,您可以編寫自己的函數來替代使用您已經描述的方法。


def count(iterable):

    c = 0

    for _ in iterable:

        yield c

        c += 1


# TEST:

z = [1, 20, 50, 100, 50]

for i in count(z):

    print(i)

結果是:


0

1

2

3

4


查看完整回答
反對 回復 2022-06-28
  • 3 回答
  • 0 關注
  • 115 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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