1. 程式人生 > >Python全棧(第一期)Day4

Python全棧(第一期)Day4

今日主要內容:
列表基本操作!

一,我們先來複習一下昨天內容

1,編碼

ASCII:字母,數字,特殊字元:1個位元組,8位

Unicode:16位 兩個位元組 升級 32 位 四個位元組(萬國碼)

UTF-8:最少一個位元組 8位表示。
英文 8位, 1個位元組
歐洲16位,2個位元組
中文24位,3個位元組

int:bit_ lenth()

bool:True False
str: str —>bool : bool(str): ’ '—>False

3,字串高階操作

captlze首字母大寫
upper()全大寫
lower()全小寫

find通過元素找索引,找不到-1
index()通過元素找索引,找不到 報錯

swpcase 大小寫翻轉
repalce(old,new,count) 若不寫次數預設全部。

isdigit() 返回bool值,判斷字串是不是全是數字
isapha()
isnumpha()
startswith endswith 判斷是不是以什麼維開頭/結尾
title 首字母大寫
center()居中
strip() lstrip() rstrip() 預設刪除空格,但是可以刪除任何東西。
Split (很重要)

len() 長度
count 計數
for i in 可迭代物件:
pas

二,接下來做幾個小練習

問題一:在字串s中,實現s1=‘123’

s = '132a4b5c'
s1 = s[0]+s[2]+s[1]
print(s1)

問題二:使用while和for迴圈分別列印字串s=’asdfer’中每個元素。

#第一種方法
for i in s:
    print(i)

#第二種方法:
index = 0
while 1:
    print(s[index])
    index += 1
    if index == len(s):
        break

問題三:實現整數加法器。如:content = input(‘請輸入內容:’) # 如使用者輸入:5+9或5+ 9或5 + 9,然後進行分割再進行計算。

#方法一
content = input('>>>').strip()#使用者輸入可能有空格,我們需要去掉。
con1 = content.split('+')# con1是列表
num = 0
for i in con1: #for迴圈  用於可迭代物件
    num += int(i)
print(num)

#方法二:
content = input('>>>').strip()
index = content.find("+")#找到+的位置
a = int(content[0:index])
b = int(content[index+1:])
print(a + b)

問題四:咱們任意輸入一串文字+數字 統計出來數字的個數。

s = input("請輸入:")
count = 0
for i in s:
    if i.isdigit():
        count += 1
print(count)

三,列表

1,某公司HR 想持續的把一批人的名字加入到公司的新名單之中。

li = ['faker', 'uzi', 'letme', 'egon', '女神']

while 1:
    username = input('>>>')
    if username.strip().upper() == 'Q':
        break
    else:
        li.append(username)
print(li)


#補充一點小知識
li.insert(4, '春哥') #在索引之前插入物件
print(li)
li.extend('二哥')  #extend list by appending elements from the iterable
li.extend([1, 2, 3])
print(li)

輸出結果:
nanshan
q
[‘faker’, ‘uzi’, ‘letme’, ‘egon’, ‘女神’, ‘nanshan’]
[‘faker’, ‘uzi’, ‘letme’, ‘egon’, ‘春哥’, ‘女神’, ‘nanshan’]
[‘faker’, ‘uzi’, ‘letme’, ‘egon’, ‘春哥’, ‘女神’, ‘nanshan’, ‘二’, ‘哥’, 1, 2, 3]

2,刪除

li = ['faker', 'uzi', 'letme', 'egon', '女神']
name = li.pop(1)  # 存在返回值,按索引刪除字串
name = li.pop()   # 預設刪除最後一個
print(name, li)


li.remove('faker')  # 按元素去刪除
print(li)

li.clear()  # 清空
print(li)

del li[0:2]  # 切片去刪除


del li
print(li)  #上一行程式碼已經刪除列表,因此這裡程式執行時會報錯

輸出結果:
女神 [‘faker’, ‘letme’, ‘egon’]
[‘letme’, ‘egon’]
[]
程式報錯!!!

3,修改

li = ['faker', 'uzi', 'letme', 'egon', '女神']
print(li)
li[0] = '男獸'   #通過索引位置直接進行修改
li[0] = [1, 2, 3]
print(li)

li[0:3] = '雲姐hello python'
print(li)
li[0:3] = [1, 2, 3, '春哥', '鹹魚哥']
print(li)

輸出結果:
[‘faker’, ‘uzi’, ‘letme’, ‘egon’, ‘女神’]
[[1, 2, 3], ‘uzi’, ‘letme’, ‘egon’, ‘女神’]
[‘雲’, ‘姐’, ‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ’ ', ‘p’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, ‘egon’, ‘女神’]
[1, 2, 3, ‘春哥’, ‘鹹魚哥’, ‘e’, ‘l’, ‘l’, ‘o’, ’ ', ‘p’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, ‘egon’, ‘女神’]

5,檢視

li = ['faker', 'uzi', 'letme', 'egon', '女神']
for i in li:
    print(i)


num = li.count('faker')  #查出現的次數
print(num)

print(li.index('uzi'))   #查出現的位置

輸出結果:
faker
uzi
letme
egon
女神
1
1

6,排序

li = [1, 5, 4, 7, 6, 2, 3]
#正向排序
li.sort()
print(li)

#反向排序
li.sort(reverse=True)
print(li)

#反轉
li.reverse()
print(li)

輸出結果:
[1, 2, 3, 4, 5, 6, 7]
[7, 6, 5, 4, 3, 2, 1]
[1, 2, 3, 4, 5, 6, 7]