資料型態

  1. list(可變列表),有順序可變動的資料集合 eg: [1,2,3,4] or [”hello”, ”world”]
  2. tuple(固定列表),有順序不可變動的資料集合 eg: (3,4,5) or (”hello”, ”world”)

集合(set):無順序的資料集合 {3, 4, 5} or {”hello”, ”world”}

字典(dictionary):鍵值對(Key-value Pari)的集合

eg: 
{ 
  "apple": "蘋果",
	"panana": "香蕉"
}

py 變數

x = 3 賦值
print(x) 印出。 //result = 3

py 基本運算

x的y次方
x ** Y
x = 2**0.5 (開根號)

數字運算
x = 3+9
x = 3*6
x = 3/6   //小數除法(有小數)
x = 3//6  //整數除法(取到整數)
x = 7%3   //取餘數 result = 1

加法
x=2+3
x+=1 
print(x) // (6)
x-=1
print(x) // (4)

字串運算
字串串接
s = "Hello"+"World" //HelloWorld 
或 
s = "Hello" 空白 "World" //HelloWorld

跳脫符號
s = "Hell\\"o" // Hell"O

換行\\n or 使用三個雙引號換行
s = "Hello\\nWorld" 
// Hello
// World
或
s = """Hello
World"""
// Hello
// World

# 字串重複三遍用乘法
s="Hello"*3  // HelloHelloHello

# 字串會對內部的字元編號(索引),從 0 算起
s="Hello"
print(s[0]) //H
或
print(s[1:4]) //ell (包含開頭不包含結尾)
或
print(s[1:]) //ello (取包含開頭所有)
或
print(s[:4]) //Hell (取全部到結尾)

py有序列表的基本運算(list, tuple)

#tuple 操作與list相同,但資料不可變動

#list
grades = [12, 60, 15, 70, 90];
print(grades[0])  //12

grades[0] = 55
print(grades)  //[55, 60, 15, 70, 90];
print(grades[1:4])) // [60, 15, 70]

grades = [12, 60, 15, 70, 90];
grades[1:4] = [] #連續刪除列表中編號1~3
print(grades)  //[12, 90];

grades = [12, 60, 15, 70, 90];
grades = grades + [12, 33]
print(grades)  //[12, 60, 15, 70, 90, 12, 33];

#取得列表長度
length = len(列表)
grades = [12, 60, 15, 70, 90];
print(len(grades))  //5

#巢狀列表
data = [[3,4,5],[6,7,8]]
print(data[0][0])  //3

data = [[3,4,5],[6,7,8]]
data[0][0:2] = [5,5,5]
print(data[0])   //[5,5,5,5]
print(data)      //[[5,5,5,5],[6,7,8]]

#tuple
data=(3,4,5)
print(data[2])   //5
print(data[0:2]) //(3,4)

data=(3,4,5)
data[0]=5 #錯誤: tuple 的資料不可以變動

py 集合及字典的基本運算(set , dictionary)

set 集合 #一種資料無順序性

#判斷資料是否存在 使用in and not in 運算符號
#使用交集、聯集 & and | 運算符號
#使用差集、反交集 - and ^ 運算符號

#可以字串拆解為集合 set(字串)

s1={3,4,5}
print(3 in s1) //判斷3有無在集合裡 return true
print(10 in s1) //判斷10有無在集合裡 return false
print(10 not in s1) //判斷10無在集合裡 return true

#集合運算
s1={3,4,5}
s2={4,5,6,7}
s3=s1&s2 #交集,取兩個集合中相同的資料
print(s3) //{4,5}

s1={3,4,5}
s2={4,5,6,7}
s3=s1|s2 #聯集: 取兩個集合中的所有資料,但不重複取
print(s3) // {3,4,5,6,7}

s1={3,4,5}
s2={4,5,6,7}
s3=s1-s2 #差集: 從s1中,減去和s2重疊的部分
print(s3) // {3}

s1={3,4,5}
s2={4,5,6,7}
s3=s1^s2 #反交集: 取兩個集合中,不重疊的部分
print(s3) // {3,6,7}

#字串拆解為集合 set(字串)
s=set("Hello") #set(字串)
print(s) // {'l','H','e','o'} 順序是隨機的
print("H" in s) //判斷H有無在集合裡 return true
print("A" in s) //return false

dictionary 字典 # 鍵值對(Key-Value Pair)
字典[key] or 字典[key]=value
# 刪除鍵值對 使用del 運算關鍵字

dic={
	"apple" : "蘋果",
	"bug" : "蟲蟲"
}
print(dic["apple"])  // "蘋果"
dic["apple"]="小蘋果"
print(dic["apple"])  //"小蘋果"

dic={
	"apple" : "蘋果",
	"bug" : "蟲蟲"
}
print("apple" in dic) # 判斷 key 是否存在 return true
print("test" in dic) # return false
print("test" not in dic) # return true

#刪除鍵值對
dic={
	"apple" : "蘋果",
	"bug" : "蟲蟲"
}
del dic["apple"]
print(dic) //dic={"bug" : "蟲蟲"}

#從列表建立字典
dic={x:x*2 for x in [3,4,5]} => 3:3*6 x =6
print(dic) // {3: 6, 4: 8, 5: 10}