1 请用代码实现: 利用下划线将列表的每一个元素拼接成字符串, li=[alex, eric, rain]
- li = [alex, eric, rain]
- v = "_".join(li)
- print(v)
2 查找列表中元素, 移除每个元素的空格, 并查找以 a 或 A 开头并且以 c 结尾的所有元素
- li = ["alec", "aric", "Alex", "Tony", "rain"] # 列表
- tu = ("alec", "aric", "Alex", "Tony", "rain") # 元组
- dic = {k1: "alex", k2: aric, "k3": "Alex", "k4": "Tony"} # 字典
- tu_li = list(tu)
- dic_li = list(dic.values())
- list = li + tu_li + dic_li
- for i in list:
- m = i.strip()
- # startswith 查看开头字符, endswith 查看结尾字符
- if(m.startswith(a) or m.startswith(A) and m.endswith(c)):
- print(m)
3 写代码, 有如下列表, 按照要求实现每一个功能
li=[alex, eric, rain]
计算列表长度并输出
列表中追加元素 seven, 并输出添加后的列表
请在列表的第 1 个位置插入元素 Tony, 并输出添加后的列表
请修改列表第 2 个位置的元素为 Kelly, 并输出修改后的列表
请删除列表中的元素 eric, 并输出修改后的列表
请删除列表中的第 2 个元素, 并输出删除的元素的值和删除元素后的列表
请删除列表中的第 3 个元素, 并输出删除元素后的列表
请删除列表中的第 2 至 4 个元素, 并输出删除元素后的列表
请将列表所有的元素反转, 并输出反转后的列表
请使用 forlenrange 输出列表的索引
请使用 enumrate 输出列表元素和序号(序号从 100 开始)
请使用 for 循环输出列表的所有元素
- # 1
- print(len(li))
- # 2
- li.append("seven")
- print(li)
- # 3
- li.insert(0,Tony)
- print(li)
- # 4
- li[1] = Kelly
- print(li)
- # 5
- li.remove(eric)
- print(li)
- # 6
- li.pop(1)
- print(li)
- # 7
- li.pop(2)
- print(li)
- # 8
- li = [alex, eric, rain]
- del li[1:3]
- print(li)
- # 9
- li = [alex, eric, rain]
- li.reverse()
- print(li)
- # 10
- li = [alex, eric, rain]
- for i in range(len(li)):
- print(i)
- # 11
- li = [alex, eric, rain]
- for m,n in enumerate(li,100):
- print(m,n)
- # 12
- for i in li:
- print(i)
4 写代码, 有如下列表, 请按照功能要求实现每一个功能
li = ["hello", seven, ["mon", ["h", "kelly"], all], 123, 446]
请根据索引输出 Kelly
请使用索引找到 all 元素并将其修改为 ALL, 如: li[0][1][9]...
写代码, 有如下元组, 按照要求实现每一个功能
- print(li[2][1][1])
- li[2][2] = "ALL"
- print(li)
5 写代码, 有如下元组, 请按照功能要求实现每一个功能
tu=(alex, eric, rain)
计算元组长度并输出
获取元组的第 2 个元素, 并输出
获取元组的第 1-2 个元素, 并输出
请使用 for 输出元组的元素
请使用 forlenrange 输出元组的索引
请使用 enumrate 输出元祖元素和序号(序号从 10 开始)
- print(len(tu))
- print(tu[1])
- print(tu[0:2])
- for i in tu:
- print(i)
- for m in range(len(tu)):
- print(m)
- for n,k in enumerate(tu,10):
- print(n,k)
6 有如下变量, 请实现要求的功能
tu = ("alex", [11, 22, {"k1": v1, "k2": ["age", "name"], "k3": (11,22,33)}, 44])
讲述元祖的特性
请问 tu 变量中的第一个元素 alex 是否可被修改?
请问 tu 变量中的 "k2" 对应的值是什么类型? 是否可以被修改? 如果可以, 请在其中添加一个元素 Seven
请问 tu 变量中的 "k3" 对应的值是什么类型? 是否可以被修改? 如果可以, 请在其中添加一个元素 Seven
答:
1 元组跟列表差不多, 它一旦创建, 便不能再修改. 元组本身不可变, 如果元组中还包含其他可变元素, 这些可变元素可以改变
2tu 变量中的第一个元素 alex 不可被修改
3"k2" 是列表, 可以修改 tu[1][2]["k2"].append("Seven")
4"k3" 是元组不可修改
7 字典
dic = {k1: "v1", "k2": "v2", "k3": [11,22,33]}
请循环输出所有的 key
请循环输出所有的 value
请循环输出所有的 key 和 value
请在字典中添加一个键值对,"k4": "v4", 输出添加后的字典
请在修改字典中 k1 对应的值为 alex, 输出修改后的字典
请在 k3 对应的值中追加一个元素 44, 输出修改后的字典
请在 k3 对应的值的第 1 个位置插入个元素 18, 输出修改后的字典
- # 1
- for i in dic.keys():
- print(i)
- # 2
- for j in dic.values():
- print(j)
- # 3
- for i,j in dic.items():
- print(i,j)
- # 4
- dic["k4"] = "v4"
- print(dic)
- # 5
- dic["k1"] = "alex"
- print(dic)
- # 6
- dic["k3"].append(44)
- print(dic)
- # 7
- dic["k3"].insert(0,18)
- print(dic)
8 转换
将字符串 s = "alex" 转换成列表
将字符串 s = "alex" 转换成元祖
将列表 li = ["alex", "seven"]转换成元组
将元祖 tu = (Alex, "seven")转换成列表
将列表 li = ["alex", "seven"]转换成字典且字典的 key 按照 10 开始向后递增
- # 1
- s = "alex"
- s_list = list(s)
- print(s_list)
- # 2
- s = "alex"
- s_tuple = tuple(s)
- print(s_tuple)
- # 3
- li = ["alex", "seven"]
- li_tuple = tuple(li)
- print(li_tuple)
- # 4
- tu = (Alex, "seven")
- tu_list = list(tu)
- print(tu_list)
- # 5
- li = ["alex", "seven"]
- li_dict = {}
- for m,n in enumerate(li,10):
- li_dict[m] = n
- print(li_dict)
9 元素分类
有如下值集合[11,22,33,44,55,66,77,88,99,90], 将所有大于 66 的值保存至字典的第一个 key 中, 将小于 66 的值保存至第二个 key 的值中
即:{k1: 大于 66 的所有值, k2: 小于 66 的所有值}
- li = [11,22,33,44,55,66,77,88,99,90]
- li.sort() # 排序
- list1 = []
- list2 = []
- for i in li :
- if i < 66:
- list1.append(i)
- elif i > 66:
- list2.append(i)
- else:
- pass
- dic = {"k1": list1,"k2": list2}
- print(dic)
10 输出商品列表, 用户输入序号, 显示用户选中的商品
商品 li = ["手机", "电脑", 鼠标垫, 游艇]
允许用户添加商品
用户输入序号显示内容
print("商品列表, 用户输入序号, 显示用户选中的商品".center(25,-))
li = ["手机", "电脑", 鼠标垫, 游艇]
- for i,num in enumerate(li,1):
- print(i,num)
- # 添加商品
- choice = input("y=yes,n=no] 是否添加商品:".rjust(20,-))
- if choice == "y" or choice == "Y":
- good = input("需要添加的商品".rjust(20,-))
- li.append(good)
- for i,num in enumerate(li,1):
- print(i,num)
- elif choice ==n or choice == "N":
- pass
- else:
- print("请输入正确的选项")
- choice_Item = input("[q=quit] 查看序号对应商品, 按 q 退出!")
- if choice_Item.isdigit() and int(choice_Item) <= len(li):
- print(li[int(choice_Item)-1])
11 用户交互显示类似省市县 N 级联动的选择
允许用户增加内容
允许用户选择查看某一个级别内容
china = {
北京:{
海淀:{},
朝阳:{},
东城:{}
},
湖北:{
武汉:{},
荆门:{},
宜昌:{}
- }
- }
- current_layer = china # 当前层
- layers = []
- tag = True
- while tag:
- # 一级菜单
- for k in current_layer:
- print(k)
- choice = input(">:").strip()
- # 二级菜单
- if choice in current_layer:
- # 进入下一级菜单, 保存当前菜单
- layers.append(current_layer)
- # 二级菜单赋给当前层
- current_layer = current_layer[choice]
- elif choice == "back":
- if len(layers) != 0:
- # pop 删除列表最后一个元素, 并返回删除后最后一个元素
- current_layer = layers.pop()
- else:
- print("已经是最顶层目录!")
- elif choice == "add":
- add_node = input("在当前目录下添加节点:")
- current_layer[add_node] = {}
- elif choice == "exit":
- tag = False
- print("good bye!")
- else:
- continue
12 列举布尔值是 False 的所有值
bool(0) bool(None) bool("") bool(()) bool([]) bool({}) 五种情况下为 false
13 有两个列表
- l1 = [11,22,33]
- l2 = [22,33,44]
获取内容相同的元素列表
获取 l1 中有, l2 中没有的元素列表
获取 l2 中有, l3 中没有的元素列表
获取 l1 和 l2 中内容都不同的元素
- set1 = set(l1)
- set2 = set(l2)
- p1 = set1 & set2
- print(p1)
- p2 = set1.difference(set2)
- print(p2)
- p3 = set2.difference(set1)
- print(p3)
- p4 = set1.union(set2).difference(set1 & set2)
- print(p4)
14 利用 For 循环和 range 输出
For 循环从小到大输出 1 - 100
- for i in range(1,101):
- print(i)
For 循环从大到小输出 100 - 1
- for i in range(100,0,-1):
- print(i)
While 循环从大到小输出 1 - 100
- n = 100
- while n > 0:
- print(n)
- n -= 1
While 循环从小到到输出 100 - 1
- n = 1
- while n <=100:
- print(n)
- n += 1
15 利用 for 循环和 range 输出 9 * 9 乘法表
- # 左下三角格式输出九九乘法表
- for i in range(1,10):
- for j in range(1,i+1):
- print("%d*%d=-" % (i,j,i*j),end=" ")
- print (" ")
16 求 100 以内的素数和(编程题)
- sum_prime = 0
- for i in range(2,101):
- n = 0
- for j in range(2,i-1):
- if i % j == 0:
- n = 1
- break
- if n == 0:
- sum_prime += i
- print(sum_prime)
17 将 [1,3,2,7,6,23,41,24,33,85,56] 从小到大排序(冒泡法)(编程)
- li = [1,3,2,7,6,23,41,24,33,85,56]
- for i in range(0,len(li)):
- for j in range(i+1,len(li)):
- if li[i] > li[j]:
- li[i], li[j] = li[j], li[i]
- print(li)
来源: http://www.bubuko.com/infodetail-2499141.html