Python快速入門(六)高級函數2:字典、字符串、for語法


前言:繼續上一章《Python快速入門(五)高級函數1:列表、del關鍵字、元組》的高級函數,這次主要是字典的定義、基本使用、遍歷,字符串的定義、遍歷、統計、判斷、查找和替換、文本對齊、拆分和拼接等


1.字典的定義

  • 字典:是一個無序的數據集合,使用print函數輸出字典時,通常輸出的順序和定義的順序是不一致的。

代碼:

fly = {"name": "fly",
       "age": 18,
       "gender": True,
       "height": 180,
       "weight": 70.5}

print(fly)

輸出:
在這裏插入圖片描述

2.字典的基本使用

  • 主要分取值、增加/修改、刪除。
  • 注意1:在取值的時候,如果指定的key不存在,程序會報錯!
  • 注意2:在增加/修改的時候,如果key不存在,會新增鍵值對如果key存在,會修改已經存在的鍵值對
  • 注意3:在刪除指定鍵值對的時候,如果指定的key不存在,程序會報錯.

代碼:

fly_dict = {"name": "飛"}
# 取值
print(fly_dict["name"])

# 增加/修改
fly_dict["age"] = 18
fly_dict["name"] = "小飛"
print(fly_dict)

# 刪除
fly_dict.pop("name")
print(fly_dict)

輸出:
在這裏插入圖片描述

3.字典的其他操作

  • 注意:如果被合併的字典中包含已經存在的鍵值對,會覆蓋原有的鍵值對

代碼:

fly_dict = {"name": "飛", "age": 20}

# 統計鍵值對數量
print(len(fly_dict))

# 合併字典
temp_dict = {"height": 180.5, "age": 20}
fly_dict.update(temp_dict)
print(fly_dict)

# 清空字典
fly_dict.clear()
print(fly_dict)

輸出:
在這裏插入圖片描述

4.字典的遍歷

  • 注意:迭代遍歷字典,變量k是每一次循環中,獲取到的鍵值對的key。

代碼:

fly_dict = {"name": "飛","qq": "123456","phone": "10086"}
for k in fly_dict:
    print("%s---%s" % (k, fly_dict[k]))

輸出:
在這裏插入圖片描述

5.字典的應用場景

  • 使用多個鍵值對,存儲描述一個物體的相關信息,可以描述更復雜的數據信息。
  • 將多個字典 放在一個列表中然後再進行遍歷。
    代碼:
card_list = [
    {"name": "fly1",
     "qq": "12345666",
     "phone": "10086"},
    {"name": "fly2",
     "qq": "54321000",
     "phone": "10010"}
]

for card_info in card_list:
    print(card_info)

輸出:
在這裏插入圖片描述

6.字符串定義和遍歷

代碼:

str1 = "hello python"
print(str1)
print(str1[2])

for char in str1:
    print(char)

輸出:
在這裏插入圖片描述

7.字符串統計

  • 注意:如果使用index方法傳遞的子字符串不存在,程序會報錯!

代碼:

hello_str = "hello hello"

# 統計字符串長度
print(len(hello_str))

# 統計某一個小(子)字符串出現的次數
print(hello_str.count("llo"))
print(hello_str.count("abc"))

# 某一個子字符串出現的位置
print(hello_str.index("llo"))

輸出:
在這裏插入圖片描述

8.字符串判斷

代碼:

# 判斷空白字符
space_str = "      \t\n\r"
print(space_str.isspace())

# 中文數字
num_str = "一千零一"
print(num_str)
print(num_str.isdecimal())
print(num_str.isdigit())
print(num_str.isnumeric())

輸出:
在這裏插入圖片描述

9.字符串查找和替換

代碼:

hello_str = "hello world"

# 判斷是否以指定字符串開始
print(hello_str.startswith("Hello"))

# 判斷是否以指定字符串結束
print(hello_str.endswith("world"))

# 查找指定字符串
# 注意:index同樣可以查找指定的字符串在大字符串中的索引
print(hello_str.find("llo"))
# 注意:index如果指定的字符串不存在,會報錯
# 注意:find如果指定的字符串不存在,會返回-1
print(hello_str.find("abc"))

# 替換字符串
# 注意:replace方法執行完成之後,會返回一個新的字符串
# 注意:不會修改原有字符串的內容
print(hello_str.replace("world", "python"))
print(hello_str)

輸出:
在這裏插入圖片描述

10.字符串文本對齊

  • 先使用strip方法去除字符串中的空白字符
  • 再使用center方法居中顯示文本

代碼:

poem = ["\t\n登鸛雀樓",
         "王之渙",
         "白日依山盡\t\n",
         "黃河入海流",
         "欲窮千里目",
         "更上一層樓"]

for poem_str in poem:
    print("|%s|" % poem_str.strip().center(10, " "))

輸出:
在這裏插入圖片描述

11.字符串拆分和拼接

代碼:

poem_str = "登鸛雀樓\t 王之渙 \t 白日依山盡 \t \n 黃河入海流 \t\t 欲窮千里目 \t\t\n更上一層樓"

print(poem_str)

# 拆分字符串
poem_list = poem_str.split()
print(poem_list)

# 合併字符串
result = " ".join(poem_list)
print(result)

輸出:
在這裏插入圖片描述

12.for語法

  • 注意:如果循環體內部使用break退出了循環,else 下方的代碼就不會被執行。

代碼:

for num in [1, 2, 3, 4]:
    print(num)
    if num == 3:
        break
else:
    print("不會執行!")
print("循環結束")

輸出:
在這裏插入圖片描述

13.遍歷字典的列表

代碼:

students = [
    {"name": "fly1"},
    {"name": "fly2"}
]

# 在學員列表中搜索指定的姓名
find_name = "fly"

for stu_dict in students:

    print(stu_dict)
    if stu_dict["name"] == find_name:
        print("找到---%s" % find_name)
        # 如果已經找到,應該直接退出循環,而不再遍歷後續的元素
        break
else:
    print("抱歉沒有找到 %s" % find_name)

print("循環結束")

輸出:
在這裏插入圖片描述


結束!下節再見!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章