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

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')
感謝前任和夸姆拉納在這里幫助我。

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()函數返回數組的長度,非常有用,我希望它能幫助你

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:])
添加回答
舉報