1. 程式人生 > 其它 >AcWing 1208. 翻硬幣

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])

二、訪問list中的元素(element)
線性表,都是具有下標(索引)的
列表物件[下標]
注意:下標從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()

遍歷只能使用for迴圈遍歷,while沒有辦法遍歷(無序)

|-- 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])