前言
python中串列,元祖,字典怎么還分不清,隨便看看,看完不會我給你買iphone12!一、串列
1.什么是串列
類比其他語言的陣列強大的地方在于串列中的元素可以是不同型別的,到底有多強,上代碼,
my_list = [1, "xin", (1, ), {"yi"}, ["nice"], {"hello": "world"}]
說破大天也沒有哪種語言能這么肆無忌憚, 一個串列里包含了int, str, 元祖, 串列, 字典…
2.串列的基本操作
<1>添加元素("增"append, extend, insert)
# 空串列
my_list = list()
# append 向串列隊尾添加元素
my_list.append("羅羅諾亞") # ["羅羅諾亞"]
my_list.append("索隆") # ["羅羅諾亞", "索隆"]
# extend 將另一個集合中的元素逐一添加到串列中
b = ["三刀流", "奧義"]
my_list.extend(b) # ["羅羅諾亞", "索隆", "三刀流", "奧義"]
my_list + b # 有個偷懶的方法也是 ["羅羅諾亞", "索隆", "三刀流", "奧義"]
# insert insert(index, object) 在指定位置index前插入元素object
my_list.inset(0, "帥的一筆") # ["帥的一筆", "羅羅諾亞", "索隆", "三刀流", "奧義"]
<2>修改元素(“改”)
# 修改元素只能通過下標修改哦
my_list = [1, 2, 3, 4]
my_list[0] = "修改" # ["修改", 2, 3, 4]
<3>查找元素("查"in, not in, index, count)
# in, not in
# in(存在),如果存在那么結果為true,否則為false
# not in(不存在),如果不存在那么結果為true,否則false
my_list = [1, 2, 3]
"1" in my_list # False
"1" not in my_list # True
# index, count
# index和count與字串中的用法相同
my_list.index(1, 0, 2) # 第一個引數是要查找的元素, 第二三個是查找區間, 注意是左閉右開區間, 回傳要查找元素的下標
my_list.count(1) # 回傳查找元素的個數 1
<4>洗掉元素("刪"del, pop, remove)
# del:根據下標進行洗掉
del my_list[0] # [1, 2]
# pop:默認洗掉最后一個元素
my_list.pop(1) # [1]
# remove:根據元素的值進行洗掉(注意只能洗掉存在的元素)
my_list.remove(1) # []
<5>排序(sort, reverse)
# sort方法是將list按特定順序重新排列,默認為由小到大,引數reverse=True可改為倒序,由大到小,
my_list = [1, 4, 2, 3]
my_list.reverse() # [3, 2, 4, 1]
my_list.sort() # [1, 2, 3, 4]
my_list.sort(reverse=True) # [4, 3, 2, 1]
3.串列嵌套
# python 里的串列嵌套就是其他語言里的多維陣列
my_list = [
['北京大學','清華大學'],
['南開大學','天津大學','天津師范大學'],
['山東大學','中國海洋大學']
]
二、元祖
python的元組與串列類似,不同之處在于元組的元素不能修改,元組使用小括號,串列使用方括號,
<1>定義元組
# 只有一個元素, 元素后面要有逗號
my_tuple = ("a", )
# 多個元素
my_tuple = ("a", "b")
<2>元祖不能修改(后續再說為何不能修改)
<3>count,index,與字串和串列中的用法相同
三、字典
1.字典就是鍵值對,也可以理解為現在都在用的json就是python中的字典(切記是雙引號)
my_dict = {
"name": "索隆"
"sex": "男"
}
2.字典的常見操作
<1>根據鍵訪問值
name = my_dict["name"] # 但是鍵不存在的時候就是報錯, 空指標例外
name = my_dict.get("age") # 不存在回傳 None
name = my_dict.get("age", 10) # 不存在回傳默認值
name = 10 if my_dict.get("age") is None else my_dict.get("age") # 這就是上面那種取值方式
<2>修改,添加元素
# 鍵存在是修改
my_dict["name"] = "路飛" # {"name": "路飛", "sex": "男"}
# 鍵不存在是新增
my_dict["age"] = 18 # {"name": "路飛", "sex": "男", "age": 18}
<3>洗掉元素
# del 洗掉指定的元素
del my_dict["age"] # {"name": "路飛", "sex": "男"}
# del 洗掉整個字典
del my_dict # my_dict 已經被洗掉了, 再次訪問就是未被定義
# clear清空整個字典
my_dict.clear() # {}
<4>len 測量字典中,鍵值對的個數
my_dict = {"name": "路飛", "sex": "男", "age": 18}
len(my_dict) # 3
<5>keys 回傳一個包含字典所有KEY的串列
my_dict = {"name": "路飛", "sex": "男", "age": 18}
my_dict.keys # ["name", "sex", "age"]
<6>values 回傳一個包含字典所有value的串列
my_dict = {"name": "路飛", "sex": "男", "age": 18}
my_dict.values # ["路飛", "男", 18]
<7>items 回傳一個包含所有(鍵,值)元祖的串列
```c
my_dict = {"name": "路飛", "sex": "男", "age": 18}
my_dict.items # [("name", "路飛"), ("sex", "男"), ("age", 18)]
四、遍歷
字串、串列、元祖遍歷一模一樣
my_str = "hello world"
my_list = ["hello", "world"]
my_tuple = ("hello", "world")
# 最普通的遍歷
for i in my_list:
print(i) # 依次列印里面的元素
# 帶下標
for index, value in enumerate(my_list):
print(index) # 依次列印下標
print(index) # 依次列印里面的元素
字典
<1> 遍歷字典的key(鍵)
my_dict = {"name": "路飛", "sex": "男", "age": 18}
for key in my_dict.keys():
print(key) # 依次列印字典里的key
<2> 遍歷字典的value(值)
my_dict = {"name": "路飛", "sex": "男", "age": 18}
for value in my_dict.values():
print(value) # 依次列印字典里的value
<3> 遍歷字典的項(元素)
my_dict = {"name": "路飛", "sex": "男", "age": 18}
for item in my_dict.items():
print(item) # 依次列印字典里項, 放在元祖里 ("name", "路飛")
<3> 遍歷字典的key-value(鍵值對)
my_dict = {"name": "路飛", "sex": "男", "age": 18}
for key, value in my_dict.items():
print(key) # 依次列印字典里的key
print(value) # 依次列印字典里的value
總結
這就是python中常用的資料型別,感覺怎么樣呀,夠用了嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/229199.html
標籤:python
