一、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)