python3學習 2 容器和字串

2021-10-12 01:12:12 字數 3003 閱讀 8081

#-----------------引號---------------

print('h"e"llo')

print("h'e'llo")

print('''hello

world

!''')

print("""hello

world

!""")

#-----------------運算---------------

print('abc' + 'def')

print('abc' * 3)

string = 'abcdefg'

print(string[:]) # abcdefg

print(string[3:]) # defg

print(string[:3]) # abc

print(string[3:5]) # de 左閉右開,包括最左邊不包括最右邊

print(string[-5:-2]) # cde 從右往左數 左開右閉

print(string[::-1]) # gfedcba 反轉字串

print(string[::2]) # aceg

print(string[7::-1]) #gfedcba

print(string[:6:-1])

print(string[7:3:-1])

print('ab' in string) # true判斷ab是否在字串中,返回bool

print('w' in string) # false

print(len(string)) #7 字串的長度

#-----------------格式化字串---------------

print('abc %s' %string)

print('%d,%3d,%03d' %(1, 1, 1)) # 1, 1,001 格式化補0或補空格

print('%08.3f' %1) #0001.000 總共8位數,不夠補0

print('{}{}'.format('hello', 'world'))

print(''.format('hello', 'world'))

print(''.format(h='hello', w='world'))

str1 = ['hello','world']

print(','.format(str1))

#-----------------字串用法---------------

str1 = ['a','b','c','d']

str2 = ')('.join(str1) # 字串連線

print(str2) # a)(b)(c)(d

str3 = str2.split(')(') # 字串分割

print(str3) # ['a','b','c','d']

# python裡的所有字串都是不可變的

s1 = 'hello world'

s2 = s1.replace('hello', 'hi')

print(s2) # hi world 把hello換成hi

print(s1) # hello world 實際上並不改變s1原本的值,而是新生成乙個字串

print(id(s2))

print(id(s1))

print(s1.count('o')) # 2 計算字串o出現的次數

#-----------------字串函式---------------

import string

print(string.digits) # 字串內建常量

print(string.ascii_letters[26:]) # 大寫a-z

print(string.ascii_letters[:26]) # 小寫a-z

#-----------------tuple---------------

a = (1, 2, 3, 4, 5)

print(type(a)) # tuple

print(a[0]) # 切片

#-----------------list---------------

import os

b = [1,2,3,4,5]

print(type(b)) # list

print(b[2:3]) # 切片 左閉右開

print(id(b))

print(id(b))

#列表便捷用法

y = [i*2 for i in [8,-6,9]] # 列表裡的每個值*2

print(y) # [16, -12, 18]

#range(n) 的用法:生成乙個從0~n-1的列表

y = [i for i in range(7) if i%2==0] # 取偶數

print(y) # [0, 2, 4, 6]

y = [m + n for m in 'abc' for n in 'xyz']

print(y) # ['ax', 'ay', 'az', 'bx', 'by', 'bz', 'cx', 'cy', 'cz']

y = [d for d in os.listdir('.')]

print(y) # 列印當前資料夾的檔案

y = [x if x % 2 == 0 else -x for x in range(1, 11)]

print(y) # [-1, 2, -3, 4, -5, 6, -7, 8, -9, 10] 偶數列印奇數加負

#-----------------dict---------------

x =

print(type(x)) # dict

print(x['name']) # bigstar

print(x.keys()) # 取所有key值

print(x.values()) # 取所有value值

print(x.__contains__('name')) # 判斷是否有此key值

(python初學者的點滴記錄,僅供參考,不喜勿噴)

python2和python3的字元編碼問題

python2和python3在字串編碼上是有明顯的區別。在python2中,字串無法完全地支援國際字符集和unicode編碼。為了解決這種限制,python2對unicode資料使用了單獨的字串型別。要輸入unicode字串字面量,要在第乙個引號前加上 u python2中普通字串實際上就是已經編...

python3學習筆記2

生成乙個隨機數 random.randint a,b 函式返回數字 n n 為 a 到 b 之間的數字 a n b 包含 a 和 b。str.count sub,start 0,end len string string 中 某字元 的次數 sub 搜尋的子字串 start 字串開始搜尋的位置。預設...

學習Python 2還是Python 3?

學習python 2還是python 3?答案 都要學!是否有如下疑問 python 3 才是python的未來。python 官方都建議指直接學習python 3。python 2 只維護到2020年。python 2慢慢的就沒人用了。那麼我們來 下 python 2和 python 3 放入區別...