我想将元素'Eric'插入到列表末尾,使用insert方法的话(先不用append方法),为什么我没有如愿将'Eric'添加到索引为-1的位置,而是添加到了索引为-2的位置呢?
输出没毛病,原数组-1是David,执行insert操作后Eric取代了David位置,David自然后移
插入-1位置是指插入原来最后一个元素的前面
不知道你这个问题是否已经解决, 如果还没有解决的话:lst=[1,3,5,8,9,9,0,0,3,3]
new_list=[]
for i in lst:
if i not in new_list:
new_list.append(i)
#这样能确保新的列表里包含原列表里所有种类的元素,且元素互不重复
if len(new_list)==len(lst):
print('原列表里的元素互不重复!')
else:
print('原列表里有重复的元素!')
我们只需要判断有无重复元素,并不需要得到去重后的元素,因此上面的代码显得有些多余。下面是我的改良版本(2021年7月15日补充):
lst=[1,3,5,8,9,9,0,0,3,3]
# False表示没有重复,我们先假设没有重复的元素
flag = False
length = len(lst)
for i in range(length):
# 这里是检查第i个元素是否跟第0到第i-1个元素中的某个重复
for j in range(i):
# 发现了一个重复的元素,就可以修改flag的状态
# 并且后面的元素没有检查的必要了
if lst[i] == lst[j]:
flag = True
break
if flag:
break
if flag:
print('原列表里有重复的元素!')
else:
print('原列表里没有重复的元素!')