1. 程式人生 > >第二章練習題 答案

第二章練習題 答案

追加 字符串 內容 第二章 索引 實現 練習題 鍵值對 sta

1、請用代碼實現:利用下劃線將列表的每一個元素拼接成字符串,li=[‘alex‘, ‘eric‘, ‘rain‘]

該題目主要是考的字符串的拼接方法,jion方法,
s=""
li=[alex,eric,rain]
s="_".jion(li)

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"}

li=["alec","aric","Alex","Tony","rain"]

for i in li:
    
     i=i.strip()
     if i.startswith("a")ori.startswith("A") and i.endswith("c"):
         print(i)

3、寫代碼,有如下列表,按照要求實現每一個功能

li=[‘alex‘, ‘eric‘, ‘rain‘]

  • 計算列表長度並輸出
  • 列表中追加元素“seven”,並輸出添加後的列表
  • 請在列表的第1個位置插入元素“Tony”,並輸出添加後的列表
  • 請修改列表第2個位置的元素為“Kelly”,並輸出修改後的列表
  • 請刪除列表中的元素“eric”,並輸出修改後的列表
  • 請刪除列表中的第2個元素,並輸出刪除的元素的值和刪除元素後的列表
  • 請刪除列表中的第3個元素,並輸出刪除元素後的列表
  • 請刪除列表中的第2至4個元素,並輸出刪除元素後的列表
  • 請將列表所有的元素反轉,並輸出反轉後的列表
  • 請使用for、len、range輸出列表的索引
  • 請使用enumrate輸出列表元素和序號(序號從100開始)
  • 請使用for循環輸出列表的所有元素
li=[alex,eric,rain]
#計算列表長度並輸出
print(冷(li))

#列表追加元素“seven",並輸出添加後的列表
li.append(”seven“)
print(li) # 請在列表的第1個位置插入元素“Tony”,並輸出添加後的列表 li.insert(0, "Tony") print(li) # 請修改列表第2個位置的元素為“Kelly”,並輸出修改後的列表 li[1] = "Kelly" print(li) # 請刪除列表中的元素“eric”,並輸出修改後的列表 li.remove("eric") # 指定的是元素 print(li) # 請刪除列表中的第2個元素,並輸出刪除的元素的值和刪除元素後的列表 li_pop = li.pop(1) # 指定的是下標位置 print(li_pop, li) # 請刪除列表中的第3個元素,並輸出刪除元素後的列表 del li[2] # 指定的是下標位置 print(li) # 請刪除列表中的第2至4個元素,並輸出刪除元素後的列表 # 請將列表所有的元素反轉,並輸出反轉後的列表 # 請使用for、len、range輸出列表的索引 for i in range(len(li)): print(i) # 請使用enumrate輸出列表元素和序號(序號從100開始) for index, val in enumerate(li, 100): print(index) # 請使用for循環輸出列表的所有元素 for i in li: print(i)

4、寫代碼,有如下列表,請按照功能要求實現每一個功能

li = ["hello", ‘seven‘, ["mon", ["h", "kelly"], ‘all‘], 123, 446]

  • 請根據索引輸出“Kelly”
  • 請使用索引找到‘all‘元素並將其修改為“ALL”,如:li[0][1][9]...
# 請根據索引輸出“Kelly”
li[2][1][1]
# 請使用索引找到‘all‘元素並將其修改為“ALL”,如:li[0][1][9]...
li[2][2].upper()
li[2][2] = "ALL"

5、寫代碼,有如下元組,請按照功能要求實現每一個功能

tu=(‘alex‘, ‘eric‘, ‘rain‘)

  • 計算元組長度並輸出
  • 獲取元組的第2個元素,並輸出
  • 獲取元組的第1-2個元素,並輸出
  • 請使用for輸出元組的元素
  • 請使用for、len、range輸出元組的索引
  • 請使用enumrate輸出元祖元素和序號(序號從10開始)
# 計算元組長度並輸出
print(len(t))
# 獲取元組的第2個元素,並輸出
print(t[1])
# 獲取元組的第1-2個元素,並輸出
print(t[1:2])
# 請使用for輸出元組的元素
for i in t:
    print(i)
# 請使用for、len、range輸出元組的索引
for i in range(len(t)):
    print(i)
請使用enumrate輸出元祖元素和序號(序號從10開始)
for index, val in enumerate(t, 10):
    print(index)

6、有如下變量,請實現要求的功能

tu = ("alex", [11, 22, {"k1": ‘v1‘, "k2": ["age", "name"], "k3": (11,22,33)}, 44])

  • 講述元祖的特性
  • 請問tu變量中的第一個元素“alex”是否可被修改?
  • 請問tu變量中的"k2"對應的值是什麽類型?是否可以被修改?如果可以,請在其中添加一個元素“Seven”
  • 請問tu變量中的"k3"對應的值是什麽類型?是否可以被修改?如果可以,請在其中添加一個元素“Seven”
# 講述元祖的特性
1、有序的集合
2、通過偏移來取數據
3、屬於不可變的對象,不能在原地修改內容,沒有排序,修改等操作。
# 請問tu變量中的第一個元素“alex”是否可被修改?
上題中的元組的第三個特點
# 請問tu變量中的"k2"對應的值是什麽類型?是否可以被修改?如果可以,請在其中添加一個元素“Seven”
type(tu[1][2]["k2"])  -- list
可以
tu[1][2]["k2"].append("Seven")
# 請問tu變量中的"k3"對應的值是什麽類型?是否可以被修改?如果可以,請在其中添加一個元素“Seven”
type(tu[1][2]["k3"])
tuple     #tuple元組,只讀列表不可修改。
不可以

7、字典

dic = {‘k1‘: "v1", "k2": "v2", "k3": [11,22,33]}

  • 請循環輸出所有的key
  • 請循環輸出所有的value
  • 請循環輸出所有的key和value
  • 請在字典中添加一個鍵值對,"k4": "v4",輸出添加後的字典
  • 請在修改字典中“k1”對應的值為“alex”,輸出修改後的字典
  • 請在k3對應的值中追加一個元素44,輸出修改後的字典
  • 請在k3對應的值的第1個位置插入個元素18,輸出修改後的字典
# 請循環輸出所有的key
dic.keys()
# 請循環輸出所有的value
dic.values()
# 請循環輸出所有的key和value
dic.items()
# 請在字典中添加一個鍵值對,"k4": "v4",輸出添加後的字典
dic["k4"] = "v4"
# 請在修改字典中“k1”對應的值為“alex”,輸出修改後的字典
dic["k1"] = "alex"
{k2: v2, k1: alex, k3: [11, 22, 33]}
# 請在k3對應的值中追加一個元素44,輸出修改後的字典
dic["k3"].append(44)
{k2: v2, k1: v1, k3: [11, 22, 33, 44]}
# 請在k3對應的值的第1個位置插入個元素18,輸出修改後的字典
dic["k3"].insert(1, 18)
{k2: v2, k1: v1, k3: [11, 18, 22, 33]}

8、轉換

  • 將字符串s = "alex"轉換成列表
  • 將字符串s = "alex"轉換成元祖
  • 將列表li = ["alex", "seven"]轉換成元組
  • 將元祖tu = (‘Alex‘, "seven")轉換成列表
  • 將列表li = ["alex", "seven"]轉換成字典且字典的key按照10開始向後遞增
# 將字符串s = "alex"轉換成列表
list(s)
# 將字符串s = "alex"轉換成元祖
tuple(s)
# 將列表li = ["alex", "seven"]轉換成元組
tuple(li)
# 將元祖tu = (‘Alex‘, "seven")轉換成列表
list(tu)
# 將列表li = ["alex", "seven"]轉換成字典且字典的key按照10開始向後遞增
dict(zip([i for i in range(10, len(li)+11)], li))

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]
dic = {
    "k1": [],
    "k2": [],
}

for i in li:
    if i >= 66:
        dic["k1"].append(i)
    else:
        dic["k2"].append(i)

print(dic)

第二章練習題 答案