python入門超easy系列(二)——— 結合for循環初探列表和字符串

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:如有疑問歡迎隨時打擾 ???

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章