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

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

如何創建一個循環來打印列表中的所有其他條目?

如何創建一個循環來打印列表中的所有其他條目?

桃花長相依 2022-09-27 10:52:12
所以我需要一個程序,它將獲取列表中的一個項目,并打印該列表中除初始項目之外的所有其他項目。例如,如果我有一個列表,例如:ls = ['Sun','Earth','Mars','Venus']當選擇“太陽”時,將打印“地球”,“火星”和“金星”,然后程序將移動到“地球”上打印“太陽”,“火星”等...我認為這可以用for循環來完成,但我無法找到一種方法來使它工作。編輯:忘記添加我嘗試過的內容,這里是:bodies = ['Sun','Earth','Mars','Venus']for i in (bodies):    bodies.remove(i)    for j in bodies:        print(j)    print('\n')    bodies.append(i)print(bodies)有人有任何意見嗎?
查看完整描述

4 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

您可以使用:


for i, _ in enumerate(ls):

    print(*[e for j, e in enumerate(ls) if i != j])

輸出:


Earth Mars Venus

Sun Mars Venus

Sun Earth Venus

Sun Earth Mars


查看完整回答
反對 回復 2022-09-27
?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

所以我聽了quamrana的帖子,他說編輯我正在迭代的集合是一件壞事,所以我使用了for循環的組合加上exe的一些答案,并提出了這個:


ls = ['Sun','Earth','Mars','Venus']


for planet in ls:


    print('Current: ' + repr(planet))


    for i in ls:

        if i not in planet:

            print(i)


    print('\n')

感謝前任和夸姆拉納在這里幫助我。


查看完整回答
反對 回復 2022-09-27
?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

我覺得就像


ls = ['sun','earth','mars','venus'];

a = 'earth';

for i in range (len(ls)):

    if ls[i] != a:

        print(ls[i]);

其中a是你不想顯示的行星,因為我不記得如何在python lol中輸入值。


len()函數返回數組的長度,非常有用,我希望它能幫助你


查看完整回答
反對 回復 2022-09-27
?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

# these work if no duplicates in list

for item in lst:

    print(set(lst) - set([item])


for item in lst:

    print([I for I in lst if I != item])


# this works if potential duplicates

for idx, item in enumerate(lst):

    if idx == 0:

        print(lst[1:])

    elif idx == len(lst) - 1:

        print(lst[:-1])

    else:

        print(lst[0:idx] + lst[idx + 1:])


查看完整回答
反對 回復 2022-09-27
  • 4 回答
  • 0 關注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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