1. 程式人生 > >Python基礎之【字典&字串 】(05)

Python基礎之【字典&字串 】(05)

字典

 

字典是另一種可變容器模型,且可儲存任意型別物件。

字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})

info={"name":"w",
      "age":18,
      "height":1.75}

注:

鍵必須是唯一的,但值則不必。

值可以取任何資料型別,但鍵必須是不可變的,如字串,數字或元組。

 

◆◆

訪問字典裡的值

◆◆

 

把相應的鍵放入到方括號中

info={"name":"w",
      "age":18,
      "height":1.75} 
    #取值
print(info["name"])


◆◆

修改字典的值

◆◆

 

向字典新增新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對

info={"name":"w",
      "age":18,
      "height":1.75}

    #增加/修改
info["sex"]="boy"  
info["name"]="www"

 

◆◆

刪除字典裡的元素

◆◆

 

能刪單一的元素也能清空字典,顯示刪除一個字典用pop命令,清空字典使用clear()。

info={"name":"w",
      "age":18,
      "height":1.75}
#刪除
info.pop("name")
print(info)
#清空字典
info.clear()
print(info)

 

◆◆

字典內建函式&方法

◆◆

 

len(dict)
計算字典元素個數,即鍵的總數

str(dict)
輸出字典,以可列印的字串表示。

type(variable)
返回輸入的變數型別,如果變數是字典就返回字典型別。

 

radiansdict.values()
返回一個迭代器,可以使用 list() 來轉換為列表

radiansdict.keys()
返回一個迭代器,可以使用 list() 來轉換為列表

radiansdict.items()
以列表返回可遍歷的(鍵, 值) 元組陣列

 

注:

不允許同一個鍵出現兩次。建立時如果同一個鍵被賦值兩次,後一個值會被記住。

鍵必須不可變,所以可以用數字,字串或元組充當,而用列表就不行。

 


字串

 

字串是 Python 中最常用的資料型別。我們可以使用引號('或")來建立字串。

str1="hello ahab"

 

◆◆

常用方法

◆◆

str="Ahab"
print(dir(str)),#輸出所有方法
  #1.大小寫轉換
print(str.lower())
print(str.upper())
   #2.判斷空白字元
print(str.isspace())
   #3.判斷字串中是否只包含數字
""" 三個方法都不能判斷小數
isdecimal 只能判斷單純的數字
isdigit  可以判斷特殊的數字(1)\u00b2  unicode 字串
isnumeric 可以判斷中文數字
"""


◆◆

查詢和替換

◆◆

hello_str="hello world"
    #判斷是否以指定字串開始
print(hello_str.startswith("hell"))
    #判斷是否以指定字串結束
print(hello_str.endswith("ld"))
    #查詢指定字串
print(hello_str.find("wo")) 
#輸出索引位置 index
print(hello_str.find("abd"))
#print(hello_str.index("ab")) # 報錯
    #替換字串
print(hello_str.replace("world","Ahab"))
#執行完成以後 會返回新的字串 
不會修改原有的字串
print(hello_str)

 


◆◆

字串格式化

◆◆

 

Python 支援格式化字串的輸出。最基本的用法是將一個值插入到一個有字串格式符 %s 的字串中。

在 Python 中,字串格式化使用與 C 中 sprintf 函式一樣的語法。

print ("我叫 %s 今年 %d 歲!" % ('小明', 10))

 


◆◆

拆分和連線

◆◆

 

poem = "登鸛雀樓\n王之渙\n白日依山盡\t" \
       "黃河入海流\n欲窮千里目\t更上一層樓"
print(poem)
          #拆分字串
poem_str=poem.split()
print(poem_str)
          #合併字串
result=" ".join(poem_str)
print(result)

 

◆◆

字串切片

◆◆

 

num="123456789"
num0=num[1:5]
#擷取 2--5的 字串 索引值從 1 到 5
print(num0)
num1=num[1:]
#擷取 2--末尾的字串  索引值 從1 到 空格
print(num1)
num3=num[:]
#擷取從開始 到末尾 的字串
print(num3)
num4=num[::2]
#從開始位置 每隔一個字元擷取字串 步長是2

 


 

公共方法

 

1.內建函式
    len() 計算容器中元素的個數 del() 刪除變數  兩種方法
    max()返回最大值   min() 返回最小值 注意在統計字典最大最小的時候針對key統計
    cmp() 比較兩個值 py3.0取消了cmp   可以使用比較運算子  字典不能比較大小
2.切片
    切片使用索引值來限定範圍 從一個大的字串中 切出 小的 字串
    列表和元組都是 有序 的集合   可以切片
    字典是 無序 的集合 使用鍵值對 儲存資料
3.運算子

+       合併             字串  元組  列表
*       重複              字串  元組  列表
in     元素是否存在 字串  元組  列表 字典  對字典的操作是針對 鍵
not in  元素是否不存在    字串  元組  列表 字典

文章首發自公眾號【Ahab雜貨鋪】關注公眾號技術分享第一時間送達!