Python习题——列表元组和字典

一、Python中的列表元组和字典

1、介绍:
Python中最为常用的数据容器有列表、元组和字典。是使用Python必须掌握的基础。本文详细介绍列表、元组和字典,以及字典的两种(按照key排序和按照value排序)排序方法。

二、习题
1、根据下述要求,编写一个程序:用户输入一个字符串,将下标为偶数的字符提出来合并成一个新的字符串A,再将下标为奇数的字符提出来合并成一个新的字符串B,再将字符串A和B连接起来并输出。

str=input("请输入一个字符串:\n")
A=""
B=""
for i in str[::2]:
    A=A+i
print("下标为偶数的字符串:")
print(A)
for j in str[1::2]:
    B=B+j
print("下标为奇数的字符串:")
print(B)
C=A+B
print("合并后的字符串:")
print(C)

执行结果如下:
在这里插入图片描述

2、请编写一个程序,用于统计字符串中每个字母的出现次数(字母忽略大小写),统计出结果后,请按照[‘a’:3,‘b’:2]的格式输出。

str1 = "ayjAYJabcdefghf"
new = {}
str2 = str1.lower()
for j in str2:
    if j in new:
        new[j] += 1
    else:
        new[j] = 1
print(new)

执行结果如下:
在这里插入图片描述

3、请编写一个程序,请将字符串中所有字母全部向后移一位,最后一个字母放在字符串的开头,最后将新的字符串输出。

str=input("请输入一个字符串:\n")
str1=str[0:-1]
str3=str[-1]+str1
print("后移一位的新字符串为:%s"%str3)

执行结果如下:
在这里插入图片描述
4、假设有个列表存了奇数个数字,请输出中间位置的数字。

list=['1','2','3','4','5','6','7','8','9']
length=len(list)
print("字符串中间位置的数字为:%s"%list[int((length-1)/2)])

在这里插入图片描述

5、已经有info=[1,2,3,4,5],请通过两种编程方法将列表变成info=[1,2,3,4,5]。
代码如下:

info = [1,2,3,4,5]
info.sort()
print(info)
info.sort(reverse=False)
print(info)

执行结果如下:
在这里插入图片描述
6、请编写一个程序,实现删除列表重复元素的功能。

list=[1,1,1,2,2,3,4,4,4,5,5]
for i in list:
    if list.count(i)>1:
        list.remove(i)
print("删除重复元素后:%s"%list)

执行结果如下:
在这里插入图片描述
7、请编写一个程序,使用字典存储学生信息,学生信息包括学号和姓名,请根据学号从小到大的顺序输出学生的信息。

length = int(input("请输入学生总数:"))
dict_1 = {}
i = 1
while i <= length:
   id = int(input("请输入第%d位学生学号:"%i))
   name = input("请输入第%d位学生姓名:"%i)
   dict_1.__setitem__(id,name)
   i += 1
print("-----未排序前-----")
print(dict_1)
def dicttolist(dict_1:dict):
   keys = dict_1.keys()
   vals = dict_1.values()
   list = [(key, val) for key, val in zip(keys, vals)]
   return list
new = sorted(dicttolist(dict_1), key=lambda x:x[0], reverse=False)
print("-----排序后-----")
print(new)
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值