第2章 练习及作业
练习
1. 请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain']
li = ['alex', 'eric', 'rain'] print("_".join(li))
输出:
alex_eric_rain
2.查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有元素
for i in li: i = i.strip() if i.startswith("a") or i.startswith("A") and i.endswith("c"): print(i)
输出:
alec aric
3.写代码,有如下列表,按照要求实现每一个功能
li = ['alex', 'eric', 'rain']
# 计算列表长度并输出 print(len(li)) # 输出3 # 列表中追加元素“seven”,并输出添加后的列表 li.append("seven") print(li) # 输出: ['alex', 'eric', 'rain', 'seven'] # 请在列表的第1个位置插入元素“Tony”,并输出添加后的列表 li.insert(1,"Tony") print(li) # 输出 :['alex', 'Tony', 'eric', 'rain'] # 请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表 li[2] = "Kelly" print(li) # 输出:['alex', 'eric', 'Kelly'] # 请删除列表中的元素“eric”,并输出修改后的列表 li.remove("eric") print(li) # 输出:['alex', 'rain'] # 请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表 print(li.pop(2)) print(li) 输出: rain ['alex', 'eric'] # 请删除列表中的第3个元素,并输出删除元素后的列表 li = ['alex', 'eric', 'rain'] li.append("seven") li.insert(1, "Tony") li.pop(3) print(li) 输出: ['alex', 'Tony', 'eric', 'seven'] # 请删除列表中的第2至4个元素,并输出删除元素后的列表 del li[2:4] print(li) 输出: ['alex', 'Tony', 'seven'] # 请将列表所有的元素反转,并输出反转后的列表 li.reverse() print(li) 输出: ['seven', 'rain', 'eric', 'Tony', 'alex'] # 请使用 for、len、range输出列表的索引(没搞懂这个问题) for i in li: print(li.index(i)) # 请使用enumrate输出列表元素和序号(序号从100开始) for index, i in enumerate(li): print(i, index + 100) 输出: alex 100 Tony 101 eric 102 rain 103 seven 104 # 请使用for循环输出列表的所有元素 for i in li: print(i) 输出: alex Tony eric rain seven
4. 写代码,有如下列表,请按照功能要求实现每一个功能
li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446] # 根据索引输出“Kelly” print(li[2][1][1]) # 请使用索引找到“all”元素并将其修改为“ALL”,如:li[0][1][9]... li[3] = "ALL" print(li) # 输出:['hello', 'seven', ['mon', ['h', 'kelly'], 'all'], 'ALL', 446]
<br />5. 写代码,有如下元组,请按照功能高要求实现每一个而功能
tu = ('alex', 'eric', 'rain') # 计算元组的长度并输出 print(len(tu)) # 输出:3 # 获取元组的第2 个元素,并输出 print(tu[2]) # 输出:rain # 获取元组的第1-2个元素,并输出 print(tu[1:2]) # 输出:('eric',) # 请使用for输出元组的元素 for i in tu: print(i) # 请使用for、len、range输出元组的索引 for i in range(len(tu)): print(i) # 请使用enumrate输出元组元素和序号(序号从10开始) for index, i in enumerate(tu): print(i, index + 10)
6. 有如下变量,请实现要求的功能
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11, 22, 33)}, 44]) # 讲述元组的特性: # 元组元素不可变,元组里面元素包含可变元素,则该元素可变 # 请问 tu变量中的第一个元素“alex”是否可被修改? # 不可被修改 # 请问tu变量中的“k2”对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个“Seven” # 可以修改。 tu[1][2]["k2"].append("Seven") print(tu) # 请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个“Seven” # 元组类型,不可修改
7. 字典
dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]} # 请循环输出所有的key for key in dic: print(key) # 请循环输出所有的value for key in dic: print(dic[key]) # 请循环输出所有的key和balue for key in dic: print(key, dic[key]) # 请在字典中添加一个键值对,"k4":"v4" ,输出添加后的字典 dic["k4"] = "v4" print(dic) # 请修改字典中"k1"对应的值为"alex" ,输出修改后的字典 dic["k1"] = "alex" print(dic) # 请在k3对应的值中追加一个元素44,输出修改后的字典 dic["k3"].append(44) print(dic) # 请在k3对应的值的第1个位置插入个元素18,输出修改后的字典 dic["k3"].insert(1, 18) print(dic)
8. 转换
# 将字符串s= "alex" 转换成列表 s = "alex" s = list(s) print(s) # 将字符串s= "alex" 转换成元组 s = "alex" s = tuple(s) print(s) # 将列表li=["alex","seven"]转换成元组 li = ["alex", "seven"] tu = tuple(li) print(tu) # 将元组tu = ("Alex","seven")转换成列表 tu = ("Alex", "seven") li = list(tu) print(li) # 将列表 li=["alex","seven"]转换成字典且字典的key按照10开始向后递增 dic = {} for index, i in enumerate(li, 10): dic[index] = i print(dic)