1.列表生成及循环左移
题目:
从键盘读入一个整数n,并完成以下任务:
1)使用快速列表生成语法生成列表 [ 1 , 2 , …… ,n - 1 , n ];
2)使用 for 循环将列表循环左移一个位置;
3)输出循环左移后的列表;
输入格式:
n
输出格式:
[2, 3, ……, n-1, n]
输入样例:
7
输出样例:
[2, 3, 4, 5, 6, 7, 1]
参考代码:
n = int(input())
s = [i+1 for i in range(n)] #for i in range(n)的范围是i到i-1
for i in range(n-1):
s[i] = s[i+1]
s[n-1] = 1
print(s)
2.找列表中最大元素的下标
题目:
输入一个整数列表,找出整数列表中最大元素的下标,如果最大元素的个数超过1,那么请打印输出所有的下标。
输入格式:
数字1,数字2,字3,……数字n
输出格式:
下标1 下标2 下标3 …… 下标k
输入样例:
1,2,3,7,4,7,5
输出样例:
3
5
使用的主要语法:
split(): 使用分隔符对参数元素进行切片
append(): 在列表尾部添加新的元素
eg:listt = [1,2,3,4,5]
listt.append(7) #[1,2,3,4,5,7]
max(): 找出最大值
参考代码:
x = input()
s = []
for i in x.split(","): #以 ,为分隔符
s.append(int(i))
m = max(s)
for j in range(len(s)):
if s[j] == m
print(j)
3.删除列表中的重复值
题目:
输入一个列表,删除其中的重复值,再输出。
要求:假设列表中存在k个值为 a 的元素,删除前 k-1 个元素,保留最后一个,不同元素在列表中的相对位置不应被改变。
输入格式:
[元素1, 元素2, ……, 元素n]
输出格式:
[元素1, 元素2, ……, 元素k]
输入样例:
[2,3,2,4,2,5,True]
输出样例:
[3,4,2,5,True]
使用的主要语法:
eval(): 将字符串转换成列表
copy(): 进行复制操作,但是只会复制父对象,不会复制子对象;
remove(): 用于移除参数元素中某个值的第一个匹配项。
参考代码:
list1 = eval(input())
list2 = list1.copy()
#不允许边修改列表,边便利列表,否则会造成便利的困难。
#全程都是在复制列表中进行
for i in list2:
con = list1.count(i)
if con >= 2:
for j in range(con-1):
list1.remove(i)
print(list1)