天天看點

python入門(四)字元串和清單值

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