[py] (一)

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)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值