python入門(四)字元串和清單值
參考書籍 python_note_pdq.pdf
5.1 組合資料類型
name = "123456"
print(name[0]) ------1
print(name[5]) -------6
print(name[len(name) - 1])--6
5.2 for語句周遊字元串
name = "123456"
for char in name:
print(char)-----------1,2,3,4,5,6
5.3 字元串片段
name = "123456"
print(name[0:3]) ----123
print(name[:3]) -----123
print(name[3:]) -----456
5.4 字元串子產品
貌似已經修改了一些東東了:
eg1:
name = "13211113456"
idx = name.find("3")
print(idx) -----1
idx = name.find("3",3)
print(idx) -----7
idx = name.find("3",3,4)
print(idx) ----- -1
eg2:
import string
print(string.digits) ----數字 0123456789
print(string.ascii_lowercase) -------小寫字母 abcdefghijklmnopqrstuvwxyz
print(string.ascii_uppercase) ------大寫字母 ABCDEFGHIJKLMNOPQRSTUVWXYZ
x = "B"
print(str(string.ascii_uppercase).find(x) != -1) ----- True 判斷是否是大寫字母
print(x in string.ascii_uppercase) --------------------True 判斷是否是字母
print("a" < x < "z" or "A" < x < "Z") ----------True 判斷是否是字母
6.1 清單值
array1 = ["sillycat","daodao","chaochao",10.3]
print(array1) ----['sillycat', 'daodao', 'chaochao', 10.3]
print(list(range(0,10))) ----[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(range(0,10,2))) ----[0, 2, 4, 6, 8]
6.2 讀寫元素
number = [15,203]
print(number) ------ [15, 203]
print(number[0],"===",number[1]) ------ 15 === 203
number[1] = 111
print(number,"===",number[1]) ------ [15, 111] === 111
print(number[-1]) ------ 111
6.3 清單的一些方法
append 在清單的尾部追加元素
number = [1,2]
print(number) -----[1, 2]
number.append(3)
number.append(4)
print(number) -----[1, 2, 3, 4]
insert在清單中插入元素,一個參數是索引位置;一個是插入元素的值
number = [1,3]
number.insert(1, 2)
print(number) --------[1, 2, 3]
extend合并兩個清單
number1 = [1,3]
number2 = [2,4]
number1.extend(number2)
print(number1) ---[1, 3, 2, 4]
print(number2) ---[2, 4]
index取得元素的索引值
languages = ["java","python","groovy"]
print(languages.index("python")) -----1
remove删除第一個出現的值
languages = ["java","python","groovy"]
languages.remove("python")
print(languages) --- ['java', 'groovy']
pop删除最後一個值
letters = ['a','b','c','d']
char = letters.pop()
print(letters,":",char) --- ['a', 'b', 'c'] : d
6.4 清單長度
len 傳回清單的長度
in 是布爾操作,傳回是否存在于數組中
not in 組合來表示元素不包含于清單
os = ["Linux","Window","Ubuntu"]
print(len(os)) ---3
print("Linux" in os) ---True
print("Sillycat" not in os) ---True
6.5 清單和for循環
os=["Linux","Unix","Windows"]
for machine in os:
print(machine)
for number in range(5):
if number % 2==0:
print(number)
傳回:
Linux
Unix
Windows
2
4
6.6 清單操作符
+ 兩個清單連接配接成一個清單
* 讓清單重複一定的次數
a = [1,2,3]
b = [4,5,6]
c = a + b
print(c) --- [1, 2, 3, 4, 5, 6]
print(a * 3) -- [1, 2, 3, 1, 2, 3, 1, 2, 3]
6.7 清單片段
a = [1,2,3,4,5,6]
print(a[1:3])
print(a[:3])
print(a[3:])
print(a[:])
傳回結果:
[2, 3]
[1, 2, 3]
[4, 5, 6]
[1, 2, 3, 4, 5, 6]
6.8 清單元素是可變的
a = [1,2,3,4,5,6]
#改變某一個元素的值
a[0] = 6
#改變片段的值
a[1:3] = [11,11]
#賦予空值删除最後一個元素
a[5:6] = []
#利用清單片段在特定位置插入元素
print(a)
a[5:] = [66,66]
print(a)
輸出結果:
[6, 11, 11, 4, 5]
[6, 11, 11, 4, 5, 66, 66]
6.9 元素的删除
a = [1,2,3,4,5,6]
#删除片段
del a[3:5]
print(a)
a = [1,2,3,4,5,6]
#删除單個
del a[1]
print(a)
控制台列印:
[1, 2, 3, 6]
[1, 3, 4, 5, 6]
6.10 變量和值
a = "luohuazju"
b = "luohuazju"
print(id(a),":",id(b))
a = [1,2,3]
b = [1,2,3]
print(id(a),":",id(b))
a = 12
b = 12
print(id(a),":",id(b))
a = 12.3
b = 12.3
print(id(a),":",id(b))
控制台列印資訊:
12186496 : 12186496
12645160 : 12645120
505389224 : 505389224
11394872 : 11394872
數組是兩個值,而字元串、整數、浮點數都是隻有一個值,有兩個不同的名字而已。
6.11 别名
a = [1,2,3]
#這時b就是a的别名
b = a
print(id(a),":",id(b))
b[0] = 0
print(a,":",b)
print(id(a),":",id(b))
b = [0,2,3]
print(a,":",b)
print(id(a),":",id(b))
控制台列印結果:
12645160 : 12645160
[0, 2, 3] : [0, 2, 3]
12645160 : 12645160
[0, 2, 3] : [0, 2, 3]
12645160 : 12647560
6.12 克隆清單
a = [1,2,3]
b = a[:]
print(id(a),":",id(b))
控制台傳回資訊:
12645160 : 12645120
6.13 清單參數
傳遞清單參數實際上是傳遞清單的别名,而不是清單的拷貝。函數中如果修改了傳入的清單,就更改了原清單
#直接操作傳入的清單
def delete(list):
if(len(list) > 0):
del list[0]
#克隆一份出來操作
def deleteself(list):
if(len(list) > 0):
listself = list[:]
del listself[0]
print(listself)
a = [1,2,3]
deleteself(a)
print(a)
delete(a)
print(a)
控制台傳回結果:
[2, 3]
[1, 2, 3]
[2, 3]
6.14 清單嵌套
a = [1,2,3,[4,5]]
print(a[3],":",a[3][1])
a = [[11,12,13],[21,22,23],[31,32,33]]
print(a[1][0],a[1][1],a[1][2])
背景列印資訊為:
[4, 5] : 5
21 22 23
6.15 矩陣
嵌套清單可以表示矩陣,以上 11,12,13 21,22,23 31,32,33示例就是。
6.16 字元串和清單
lans = "java python javascript ruby"
#split分隔字元串
print(lans.split())
print(lans.split("a"))
#join連接配接資料為字元串
t = ""
print(t.join(lans.split()))
控制台傳回消息:
['java', 'python', 'javascript', 'ruby']
['j', 'v', ' python j', 'v', 'script ruby']
javapythonjavascriptruby
6.17 清單映射(沒有成功,可能是版本差異)
fruits = ['apple', 'orange', 'pear', 'banana']
i = 0
for item in fruits :
fruits[i] = item + "s"
i = i + 1
print(fruits)
背景列印資料:
['apples', 'oranges', 'pears', 'bananas']