AcWing 1208. 翻硬幣
技術標籤:python
Python容器(入門):
容器的定義:容器就是程式語言提供給我們開發者使用的物件(包含性質)。
學習容器的意義:面對大量資料的時候,運用容器進行批量的管理和操作大量資料。
python官方為大家提供四種常見的容器:
list:有序的數列,python的list底層就是基於雙向連結串列結構設計的。
一、定義list:
1,藉助弱資料型別語言的特點
[] # 列表是以[]的形式表現
ls = [] # 空列表
ls = [1, 2,3,4,5,6] # 建立了一個有如下元素的列表
2、藉助python提供的一個全域性函式建立list
ls = list()
ls = list([1,83,3,4,899])
線性表,都是具有下標(索引)的
列表物件[下標]
注意:下標從0開始,注意下標越界問題!!!
print(ls[4]) # 訪問ls中的第五個元素
ls[1] = 100 # 將ls列表中的第二個元素值修改為100
統計list中的元素:全域性函式:len()
三、遍歷列表
1.使用for迴圈遍歷
2.使用while迴圈遍歷列表
四、list中的常見方法
|-- append(元素) #在列表的尾部新增元素
|-- insert(index,元素) #在所選位置插入該元素
|-- remove(元素) #移除元素,如果不存在,則報錯,找到第一個刪除
|–pop(index=-1) #預設移除最後一個元素,如果存在引數
|–clear() #清空列表
|–reverse() #翻轉列表元素順序
|–sort() #排序
|–index(元素) #查詢元素的位置
|–count(元素) #統計元素的數量
|–extend #合併列表
|–copy #複製列表,淺拷貝
Set{集合}------------- {}
特點:1、無序的;2、不能重複
底層使用的hash表(雜湊表)的結構設計的
定義:1、藉助弱資料型別語言的特點
注意:必須要存在值,否則預設空{}是字典型別,而不是set
s = {1,2,4}
2、全域性set函式: s = set()
|-- add #新增元素
|–clear() #清除列表
|–copy() #淺拷貝物件
|–difference() #差集
|–intersection() #交集
|–union() #並集
|–remove(元素) #移除一個元素
|–pop() #隨機移除一個元素
刪除重複的一種方法
tuple(元組)
不可變資料型別,就是說,它裡面的元素是不允許被修改的!!
定義和前面的一樣,也存在兩種方式
常見方法:
|-- count # 統計元素個數
|-- index # 檢視元素索引位置
t=(1) int
t = (1,) tuple
注意:
t = (1)
t = (1,)
字典:
定義:
d = {}
d = {k1: v1, k2: v2}
d = dict({…})
可以使用key訪問到key對應的值
d[“k1”]
d.get(“k2”)
p[“name”] = “lisi” # 增加鍵值對
常見方法:
|-- clear
|-- copy
|-- get
|-- keys() # 將所有的key返回
|-- values() # 將所有的值返回
|-- setdefault
|-- items() # 一對一對的返回
|-- pop(key) # 通過key刪除對應鍵值對
|-- popitem() # 安裝 LIFO (last-in, first-out) order 刪除鍵值對
字典的遍歷方式:
1、
for key in p:
print(key, p[key])
2、
for key in p.keys():
print(key , p.get(key))
3、
for key, value in p.items():
print(key, value)
for (key, value) in p.items():
print(key, value)
for t in p.items():
print(t[0], t[1])