python入門超easy系列(二)——— 結合for循環初探列表和字符串
衆所周知,python是世界上入門最簡單的語言!?——周某人
列表
列表是python中最基本、最常用的數據結構,講道理如果列表及其基礎操作不能熟練操作,你的python生涯將會面臨重重阻礙。
1. 列表定義:通過 ‘[]’ 進行定義,可以存放一系列的任意數據,是一種容器類型。
lt = [1, 2, 'hello', 3.14, True]
print(lt, type(lt))
# 通過下標獲取元素,有越界問題
print(lt[1])
2. 列表生成式:用於快速方便地生成一個列表
# 關於range()函數可參考上一章節
k = [i for i in range(1, 11)]
print(k)
output:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
嘗試運行下面的例子,深入瞭解列表生成式的語法及其原理
print([i for i in 'abcdefg'])
print([i*2 for i in range(1, 11)])
print([i*i for i in range(1, 11)])
print([str(i) for i in range(1, 11)])
print([i for i in range(1, 11) if i % 2 == 0])
# 生成的列表可以與遍歷的內容沒有一毛錢關係
print([250 for i in range(1, 11)])
3. 列表操作
Tips:以下操作,運行查看結果
-
切片操作
print(lt[0]) # 獲取下標爲0的元素值 print(lt[-1]) # 獲取最後一個列表元素的值 print(lt[1:3]) # 從下標1開始獲取到下標爲2的列表元素的值 print(len(lt)) # 獲取列表長度,即是列表元素個數
-
增、刪、改、查 操作
lt = [1, 2, 3, 3, 3, 4, 5] # 增 lt.append(6) # 追加列表元素 lt.extend([7, 8]) # 將可迭代對象的元素展開,存放入列表中 # 刪 lt.remove(6) # 刪除列表中第一個元素值爲6的列表元素 del lt[1] # 刪除下標爲1的列表元素 k = lt.pop(1) # 刪除列表中下標爲1的列表元素,並返回被刪除(彈出)的元素 # 改 lt[0] = 100 # 將下表爲0的列表元素的值改爲100 # 查 print(lt.index(3)) # 查詢元素在列表中的索引號,找到返回該元素第一個出現的位置,若不在列表中,將會報錯 print(lt.count(3)) # 統計元素在列表中出現的次數
-
逆序和排序
# 逆序 lt.reverse() print(lt) # 排序 # reverse=True表示降序排序 lt.sort(reverse=True) print(lt)
字符串
字符串是 Python 中最常用的數據類型。我們可以使用引號 單引號’a’ 、雙引號"a"和三引號""“a”""來創建字符串。前兩種創建方法和後者的區別在於,後者可以打印多行內容,而前者只能通過’\n’來進行換行。
1. 切割與拼接
s = 'I love you more than i can say'
# 切割字符串
# sep:指定按照什麼進行切割,默認按照空格切割
# maxsplit:指定最大切割次數,默認不限制次數
# ret = s.split(sep='abc', maxsplit=1)
# 從右邊進行切割
ret = s.rsplit(' ', maxsplit=1)
print(ret)
s = 'Hello\nworld'
# 按照換行進行切割
print(s.splitlines())
s = 'I love you more than i can say'
ret = s.split()
# print(ret)
# 字符串拼接
s2 = '*'.join(ret)
print(s2)
# 一些零散知識
s1 = 'hello'
s2 = 'world'
# 可以使用'+'將字符串拼接在一起
s3 = s1 + s2
print(s3)
# '*'可以重複前面的字符串若干次
s4 = 'abc' * 3
print(s4)
# len函數統計字符串長度
print(len(s1))
2. 查詢
s = 'Hi buddy, if you have something to say, than say; if you have nothing to say, than go.'
# 子串查找:找到首次出現的位置,返回下標,找不到返回-1
ret = s.find('hello')
# 從後面查找
ret = s.rfind('to')
# 統計子串出現的次數
ret = s.count('if')
# 判斷是否已指定內容開頭
ret = s.startswith('Hi')
# 判斷是否已指定內容結尾
ret = s.endswith('go.')
print(ret)
3. 統計判斷
s = 'hellO worlD!'
# 轉換爲全大寫
print(s.upper())
# 轉換爲全小寫
print(s.lower())
# 大小寫轉換
print(s.swapcase())
# 首字母大寫
print(s.capitalize())
# 每個單詞首字母大寫
print(s.title())
# 用指定的內容替換指定內容,還可以值替換次數
print(s.replace('l', 'L', 2))
4. 類型判斷
s = 'abcABC2'
# 是否是全大寫
print(s.isupper())
# 是否是全小寫
print(s.islower())
# 是否每個單詞首字母都大寫
print(s.istitle())
# 是否是全數字字符
print(s.isdecimal())
# 是否是全字母
print(s.isalpha())
# 是否全是字母或數字
print(s.isalnum())
4. 切片操作
s = "Do you know the way?"
# 切片
# 格式:s[開始:結束:步進]
print(s[1:3])
# 當一邊的邊界省略,則提取到改側的邊緣
print(s[1:])
print(s[:4])
print(s[1:-2])
print(s[:-3])
print(s[-3:])
# 指定步進值,默認爲1
print(s[::2])
# 逆序提取
print(s[::-1])
5. 格式化輸出(控制輸出格式):python格式化輸出有兩種方式:百分號和format。format的功能要比百分號方式強大。
# %s:字符串
# %d:整型
# %f:浮點
# %c:字符
name = '二狗'
like = '大花'
age = 18
print('俺叫%s,暗戀%s,她今年%d歲' % (name, like, age))
# python中特有的解決方案
print('俺叫{},暗戀{},她今年{}歲'.format(name, like, age))
print('俺叫{2},暗戀{1},她今年{0}歲'.format(name, like, age))
print('俺叫{l},暗戀{n},她今年{a}歲'.format(n=name, l=like, a=age))
6.拓展——ASCII碼:美國信息交換標準代碼,就是用一個數字表示字符的規範。
# 字符 => ASCII
print(ord('A'))
# ASCII => 字符
print(chr(97))
下期預告:繼續介紹python另外兩常用的可迭代對象:元組、字典,還有在初學階段不常用的集合。
Tips:如有疑問歡迎隨時打擾 ???