量过于多,就不打算一一整理代码了,而且题目做了一下午,大题还没有攻克下来,通过练习大部分知识都掌握了。也加深了部分不熟悉的知识点的印象
enumerate方法 对于我来说还不够熟
接下来就是我今天做的题目
1、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li = [‘alex‘, ‘eric‘, ‘rain‘]
li = ["alex", "eric", "rain"]
v = "_".join(li)
print(v)
2、查找列表中元素,移除每个元素的空格,并查找以 a 或 A 开头 并且以 c 结尾的所有元素。
li = ["alec", " aric", "Alex", "Tony", "rain"]
for s in li :
v = s.strip()
if v.startswith("a") or v.startswith("A") and v.endswith("c")==True:
print(v)
print("\n")
tu = ("alec", " aric", "Alex", "Tony", "rain")
for s in tu :
v = s.strip()
if v.startswith("a") or v.startswith("A") and v.endswith("c")==True:
print(v)
dic = {'k1': "alex", 'k2': "aric","k3": "Alex", "k4": "Tony"}
for s in dic.values():
v = s.strip()
if v.startswith("a") or v.startswith("A") and v.endswith("c") == True:
print(v)
# 3、写代码,有如下列表,按照要求实现每一个功能
# a.计算列表长度并输出 
li = ['alex', 'eric', 'rain']
v = li.__len__()
print(v)
#b. 列表中追加元素 “seven”,并输出添加后的列表
li = ['alex', 'eric', 'rain']
li.append("seven")
print(li)
# c. 请在列表的第 1 个位置插入元素 “Tony”,并输出添加后的列表 
li = ['alex', 'eric', 'rain']
li.insert(0,"Tony")
print(li)
# d. 请修改列表第 2 个位置的元素为 “Kelly”,并输出修改后的列表////////////////
li = ['alex', 'eric', 'rain']
li[1] = "Kelly"
print(li)
# e. 请删除列表中的元素 “eric”,并输出修改后的列表
li = ['alex', 'eric', 'rain']
li.remove("eric")
print(li)
# f. 请删除列表中的第 2 个元素,并输出删除的元素的值和删除元素后的列表
li = ['alex', 'eric', 'rain']
v = li.pop(1)
print(v,li)
# g. 请删除列表中的第 3 个元素,并输出删除元素后的列表
li = ['alex', 'eric', 'rain']
v =li.pop(2)
print(v,li)
# h. 请删除列表中的第 2 至 4 个元素,并输出删除元素后的列表////////////
li = ["alex", "eric", "rain", "rain", "rain"]
del li[1:4]
print(li)
# i. 请将列表所有的元素反转,并输出反转后的列表
li = ['alex', 'eric', 'rain']
li.reverse()
print(li)
# j. 请使用 for、len、range 输出列表的索引
li = ['alex', 'eric', 'rain']
for v in range(0,len(li)):
print(v)
# k. 请使用 enumrate 输出列表元素和序号(序号从 100 开始)///////////////////
li = ['alex', 'eric', 'rain']
for i,v in enumerate(li,100):
print(i,v)
# l. 请使用 for 循环输出列表的所有元素
for v in li:
print(v)
4、写代码,有如下列表,请按照功能要求实现每一个功能
li = ["hello", ‘seven‘, ["mon", ["h", "kelly"], ‘all‘], 123, 446]
a. 请根据索引输出 “Kelly”
li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
v = li[2][1][1]
print(v)
# b. 请使用索引找到 ‘all‘ 元素并将其修改为 “ALL”,如:li[0][1][9]...
li[2][2] = "ALL"
print(li)
5、写代码,有如下元组,按照要求实现每一个功能
tu = (‘alex‘, ‘eric‘, ‘rain‘)
a.计算元组长度并输出
tu = ['alex', 'eric', 'rain']
v = len(tu)
print(v)
b. 获取元组的第 2 个元素,并输出
tu = ['alex', 'eric', 'rain']
print(tu[1])
c. 获取元组的第 1--‐2 个元素,并输出
tu = ['alex', 'eric', 'rain']
print(tu[1:3])
d. 请使用 for 输出元组的元素
tu = ['alex', 'eric', 'rain']
for v in tu:
print(v)
e. 请使用 for、len、range 输出元组的索引
tu = ['alex', 'eric', 'rain']
for v in range(len(tu)):
print(v)
f. 请使用 enumrate 输出元祖元素和序号(序号从 10 开始)
tu = ['alex', 'eric', 'rain']
for i,v in enumerate(tu,10):
print(i,v)
6、有如下变量,请实现要求的功能
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
a. 讲述元祖的特性: 一级元素不可修改,有序,可迭代,可切片,可索引,可转换为列表。
b. 请问 tu 变量中的第一个元素 “alex” 是否可被修改?  不可以
c. 请问 tu 变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven” 列表/////////////
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
tu[1][2]["k2"].append("seven")
print(tu[1][2]["k2"])
d. 请问 tu 变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven” 元祖不可以修改
7、字典
dic = {‘k1‘: "v1", "k2": "v2", "k3": [11,22,33]}
a.请循环输出所有的 key
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for v in dic.keys():
print(v)
 b. 请循环输出所有的 value
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for v in dic.values():
print(v)
c. 请循环输出所有的 key 和 value
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for k,v in dic.items():
print(k,v)
d. 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
dic.update({"k4":"v4"})
print(dic)
e. 请在修改字典中 “k1” 对应的值为 “alex”,输出修改后的字典
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
dic.update(k1 = "alex")
print(dic)
 f. 请在 k3 对应的值中追加一个元素 44,输出修改后的字典///./////
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
dic["k3"].append(44)
print(dic)
g. 请在 k3 对应的值的第 1 个位置插入个元素 18,输出修改后的字典
dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
dic["k3"].insert(0,18)
print(dic)
8、转换
a.将字符串 s = "alex" 转换成列表
s = "alex"
v = list(s)
print(v)
b. 将字符串 s = "alex" 转换成元祖
s = "alex"
v = tuple(s)
print(v)
b. 将列表 li = ["alex", "seven"] 转换成元组 
li = ["alex", "seven"]
v = tuple(li)
print(v)
c. 将元祖 tu = (‘Alex‘, "seven") 转换成列表
tu = ('Alex', "seven")
v = list(tu)
print(v)
d. 将列表 li = ["alex", "seven"] 转换成字典且字典的 key 按照 10 开始向后递增/////////////////////////////////
li = ["alex", "seven"]
dic = {}
for k,v in enumerate(li,10):
dic.update({k:v}) #update()
dic[k] = v #索引
print(dic)
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]
dic = {
"k1":[],
"k2":[]
}
for v in li:
if v > 66:
dic["k1"].append(v)
else:
dic["k2"].append(v)
print(dic)
li = [11,22,33,44,55,66,77,88,99,90]
li_1 = []
li_2 = []
for v in li:
if v > 66:
li_1.append(v)
else:
li_2.append(v)
dic ={"k1" : li_1,
"k2" : li_2}
print(dic)
输出商品列表,用户输入序号,显示用户选中的商品商品 li = ["手机", "电脑", ‘鼠标垫‘, ‘游艇‘] 
        a. 允许用户添加商品 
        b. 用户输入序号显示内容
li = ["手机", "电脑", "鼠标垫", "游艇"]
for k, s in enumerate(li, 1):
print(k, s)
v = input("是否添加商品? y添加\n")
if v.lower() =="y" :
while True:
v = input("请添加商品:(按Q结束)\n")
if v.lower() == "q":
break
li.append(v)
for k,s in enumerate(li,1):
print(k,s)
c = input("选择商品的序列:\n")
if c.isnumeric()==False:
exit()
c = int(c)
if c <= 0 or c> len(li):
print("没有这个数")
else:
print(li[c-1])