中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python全棧字符串和列表怎么使用

發布時間:2021-12-03 12:34:41 來源:億速云 閱讀:317 作者:iii 欄目:開發技術

這篇文章主要講解了“Python全棧字符串和列表怎么使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python全棧字符串和列表怎么使用”吧!

    1. format格式化_填充符號使用

    1.1 format格式化

    字符串的格式化format

    # (1)順序傳參
    """{}是format中的占位符"""
    strvar = "{}向{}開了一槍,飲蛋而亡".format("趙沈陽","需保障")
    print(strvar)
    # (2)索引傳參
    strvar = "{1}向{0}開了一槍,飲蛋而亡".format("趙沈陽","需保障")
    print(strvar)
    # (3)關鍵字傳參
    strvar = "{who1}摸了{who2}一下,回頭一巴掌".format(who1="王偉",who2="馬春妮")
    strvar = "{who1}摸了{who2}一下,回頭一巴掌".format(who1="馬春妮",who2="王偉")
    print(strvar)
    # (4)容器類型數據(列表或元祖)傳參
    # 方法一
    strvar = "{0[0]}摸了{1[1]}一下,嘿嘿一笑,有戲".format(["趙蜂擁","趙世超","楊元濤"] , ("王雨涵","王同培"))
    print(strvar)
    # 方法二(推薦)
    strvar = "{group1[0]}摸了{group2[1]}一下,嘿嘿一笑,有戲".format(group1=["趙蜂擁","趙世超","楊元濤"] , group2 = ("王雨涵","王同培"))
    print(strvar)
    # 方法三(推薦) 注意一.如果該容器是字典,通過鍵取值時,不需要加引號  注意二.通過下標取值時,不能使用負號(逆向索引)
    strvar = "{group1[zfy]}摸了{group2[-1]}一下,嘿嘿一笑,有戲".format(group1={"zfy":"趙蜂擁","zsc":"趙世超"} , group2 = ("王雨涵","王同培"))
    print(strvar)

    1.2 format的填充符號的使用

    format的填充符號的使用( ^ > < )

    """
    ^ 原字符串居中顯示
    > 原字符串居右顯示
    < 原字符串居左顯示
    {who:*^10}
    * : 填充的符號
    ^ : 原字符串居中顯示
    10: 原字符串長度 + 填充符號的長度 = 10
    """
    strvar = "{who:*^10}去長春長生醫藥公司,{do:>>10},感覺{feel:!<10}".format(who="李亞峰",do="扎疫苗",feel="血槽被掏空")
    print(strvar)
    
    # (6)進制轉換等特殊符號的使用( :d :f :s :, )
    # :d 整型占位符 (強制要求類型是整型)
    strvar = "劉一峰昨天晚上買了{:d}個花露水泡腳".format(9)
    print(strvar)
    # :3d 占3位,不夠三位拿空格來補位(原字符串居右)
    strvar = "劉一峰昨天晚上買了{:3d}個花露水泡腳".format(9)
    print(strvar)
    strvar = "劉一峰昨天晚上買了{:<3d}個花露水泡腳".format(9)
    print(strvar)
    strvar = "劉一峰昨天晚上買了{:^3d}個花露水泡腳".format(9)
    print(strvar)
    # :f 浮點型占位符 (強制要求類型是浮點型) 默認保留小數6位
    strvar = "王雨涵畢業之后的薪資是{:f}".format(9.9)
    print(strvar)
    # :.2f 小數點后保留2位,存在四舍五入
    strvar = "王雨涵畢業之后的薪資是{:.2f}".format(9.188888)
    print(strvar)
    # :s 字符串占位符
    strvar = "{:s}".format("楊元濤真帥")
    print(strvar)
    # :, 金錢占位符
    strvar = "{:,}".format(12345678)
    print(strvar)
    # 綜合案例
    strvar = "{:s}開工資{:.2f}元,買了{:d}個蘭博基尼".format("孫堅",300000.12345,10)
    print(strvar)

    2. 字符串相關的方法

    字符串的相關函數

    # *capitalize 字符串首字母大寫 
    strvar = "how are you"
    res = strvar.capitalize()
    print(res)
    # *title 每個單詞的首字母大寫 
    strvar = "how old are you"
    res = strvar.title()
    print(res)
    # *upper 將所有字母變成大寫
    strvar = "How Old Are You"
    res = strvar.upper()
    print(res)
    # *lower 將所有字母變成小寫 
    res = strvar.lower()
    print(res)
    # *swapcase 大小寫互換 
    strvar = "How old Are You"
    res = strvar.swapcase()
    print(res)
    # *len 計算字符串的長度 
    strvar = "python32真熱"
    res = len(strvar)
    print(res)
    # *count 統計字符串中某個元素的數量 
    """count(字符,[開始值,結束值])"""
    strvar = "真熱真熱呀"
    # res = strvar.count("真")     # 2
    # res = strvar.count("熱",2)   # 1
    # res = strvar.count("熱",2,3) # 只有真這個字符 沒有熱
    print(res)
    # *find 查找某個字符串第一次出現的索引位置  (推薦)
    """find(字符,[開始值,結束值])"""
    strvar = "To be or not to be that is a question"
    res = strvar.find("to")
    res = strvar.find("be",4)
    # 如果find 返回的是 -1 代表沒找到
    res = strvar.find("be",4,10) # 4 ~ 9
    print(res)
    # *index 與 find 功能相同 find找不到返回-1,index找不到數據直接報錯
    """
    res = strvar.index("be",4,10) 
    print(res)
    """
    # *startswith 判斷是否以某個字符或字符串為開頭 
    """
    startswith(字符,[開始值,結束值])
    endswith(字符,[開始值,結束值])
    """
    strvar = "To be or not to be that is a question"
    res = strvar.startswith("To")
    res = strvar.startswith("To",10)
    print(res)
    # *endswith 判斷是否以某個字符或字符串結尾 
    res = strvar.endswith("question")
    res = strvar.endswith("is",-14,-11) #  is
    print(res)
    
    # ### is系列
    # *isupper 判斷字符串是否都是大寫字母 
    strvar = "HOW  A  YOU"
    res = strvar.isupper()
    print(res)
    # *islower 判斷字符串是否都是小寫字母 
    strvar = "asdf - as"
    res = strvar.islower()
    print(res)
    # *isdecimal 檢測字符串是否以數字組成  必須是純數字
    strvar = "abcdefg"
    strvar = "2134234.123"
    strvar = "2134234"
    res = strvar.isdecimal()
    print(res)
    
    # *split 按某字符將字符串分割成列表(默認字符是空格)  ***
    strvar = "you can you up no can no bb"
    lst = strvar.split()
    strvar = "you#can#you#up#no#can#no#bb"
    lst = strvar.split("#")
    print(lst)
    # *join  按某字符將列表拼接成字符串(容器類型都可)    ***
    lst = ['you', 'can', 'you', 'up', 'no', 'can', 'no', 'bb']
    strvar = " ".join(lst)
    strvar = "#".join(lst)
    print(strvar)
    # *replace 把字符串的舊字符換成新字符  ***
    """字符串.replace('舊字符','新字符'[, 限制替換的次數])"""
    strvar = "范冰冰愛不愛我,愛我,不愛我,愛我,不愛我"
    res = strvar.replace("不愛我","愛我")
    # 選擇替換的次數
    res = strvar.replace("不愛我","愛我",1)
    print(res)
    # *strip  默認去掉首尾兩邊的空白符  ***
    """空白符 空格 \n \t \r ... """
    strvar = "     周潤發  "
    res = strvar.strip()
    print(strvar)
    print(res)
    # *center 填充字符串,原字符居中 (默認填充空格)
    """center(字符長度,填充符號)"""
    strvar = "趙世超"
    res = strvar.center(10)
    # res = strvar.center(10,"*")
    print(res)

    3. 列表的相關操作

    列表的相關操作

    # ### 列表的相關操作
    lst1 = ["孟凡偉","康與眾"]
    lst2 = ["康與眾","張宇"]
    # (1)列表的拼接   (同元組)
    res = lst1 + lst2
    print(res)
    # (2)列表的重復   (同元組)
    res = lst1 * 3
    print(res)
    # (3)列表的切片   (同元組)
    """
    語法 => 列表[::]  完整格式:[開始索引:結束索引:間隔值]
    	(1)[開始索引:]  從開始索引截取到列表的最后
    	(2)[:結束索引]  從開頭截取到結束索引之前(結束索引-1)
    	(3)[開始索引:結束索引]  從開始索引截取到結束索引之前(結束索引-1)
    	(4)[開始索引:結束索引:間隔值]  從開始索引截取到結束索引之前按照指定的間隔截取列表元素值
    	(5)[:]或[::]  截取所有列表
    """
    lst = ["孟凡偉","康與眾","張宇","趙沈陽","需保障","梁新宇","沈思雨"]
    # (1)[開始索引:]  從開始索引截取到列表的最后
    res =lst[2:]
    print(res)
    # (2)[:結束索引]  從開頭截取到結束索引之前(結束索引-1)
    res =lst[:3]
    print(res)
    # (3)[開始索引:結束索引]  從開始索引截取到結束索引之前(結束索引-1)
    res = lst[3:5]
    print(res)
    # (4)[開始索引:結束索引:間隔值]  從開始索引截取到結束索引之前按照指定的間隔截取列表元素值
    # 正向截取
    res = lst[::5]
    print(res) # 0 5 10
    # 逆向截取
    res = lst[::-3] # -1 -4 -7
    print(res)
    # (5)[:]或[::]  截取所有列表
    res = lst[:]
    res = lst[::]
    print(res)
    # (4)列表的獲取   (同元組)
    #       0  1  2
    lst = [10,20,30]
    #     -3  -2 -1
    print(lst[-1])
    # (5)列表的修改   ( 可切片 )
    lst = ["孟凡偉","康與眾","張宇","趙沈陽","需保障","梁新宇","沈思雨"]
    # 改單個值
    lst[1] = "陳璐"
    print(lst)
    # 1.改多個值 (如果使用切片進行修改,要求數據必須是Iterable可迭代性數據)
    # lst[1:4] = ["孫悟空","豬八戒","白骨精"]
    lst[1:4] = "你好"
    print(lst)
    # 2.改多個值(帶有步長)
    """帶有步長的切片修改,切出幾個元素就修改幾個元素,數量要一致."""
    lst = ["孟凡偉","康與眾","張宇","趙沈陽","需保障","梁新宇","沈思雨"]
    """0 3 6 """
    lst[::3] = "abc"
    # lst[::3] = "ab" error
    print(lst)
    # (6)列表的刪除   ( 可切片 )
    lst = ["孟凡偉","康與眾","張宇","趙沈陽","需保障","梁新宇","沈思雨"]
    # 1.一次刪一個
    # del lst[2]
    # print(lst)
    # 2.一次刪一堆
    # del lst[1:-1]
    # print(lst)
    # 3.注意點
    res = lst[1:-1]
    del res # 刪除的是res這個變量 和 列表無關
    print(lst)
    
    # 額外的注意點
    tup = (1,2,3,4,[10,11,12])
    print(tup[-1])
    tup[-1][-1] = 13
    print(tup)

    4. 列表的相關函數

    列表相關的函數

    # ### 列表相關的函數
    # 增
    # append 向列表的末尾添加新的元素
    lst = ["趙沈陽"]
    lst.append("沈思雨")
    print(lst)
    # insert 在指定索引之前插入元素
    lst = ['趙沈陽', '沈思雨']
    lst.insert(1,"王偉")
    print(lst)
    # extend 迭代追加所有元素
    """迭代追加的數據是可迭代性數據(容器類型數據,range對象,迭代器)"""
    lst = ['趙沈陽', '沈思雨']
    # tup = (1,2,3)
    # lst.extend(tup)
    # strvar = "abc"
    # lst.extend(strvar)
    lst.extend(range(3))
    print(lst)
    # 刪
    # 1.pop 通過指定索引刪除元素,若沒有索引移除最后那個 (推薦)
    lst = ["曹靜怡","王志國","鄧鵬","合理"]
    # 不指定下標,默認刪除最后一個
    res = lst.pop()
    print(res)
    print(lst)
    # 指定下標,刪除具體某個元素
    res = lst.pop(1)
    print(res)
    print(lst)
    # 2.remove 通過給予的值來刪除,如果多個相同元素,默認刪除第一個
    lst = ["曹靜怡","王志國","合理","鄧鵬","合理"]
    res = lst.remove("合理")
    print(res)
    print(lst)
    # 3.clear 清空列表
    lst = ["曹靜怡","王志國","合理","鄧鵬","合理"]
    lst.clear()
    print(lst)
    # 改查 參考4.py
    # 列表的其他相關函數
    # index 獲取某個值在列表中的索引
    lst = ["曹靜怡","王志國","合理","鄧鵬","合理","鄧鵬輝","鄧鵬藍","合理","鄧鵬綠"]
    res = lst.index("合理")
    res = lst.index("合理",3)
    res = lst.index("合理",3,6) # 3 4 5
    # res = lst.index("合理大") error
    print(res)
    # count 計算某個元素出現的次數
    res = lst.count("合理") # 沒有范圍的概念
    print(res)
    # sort 對列表排序
    lst = [-90,-100,-1,90,78]
    # 從小到大進行排序
    lst.sort()
    # 從大到小進行排序
    lst.sort(reverse=True)
    print(lst)
    # 對字符串進行排序(按照ascii編碼)
    lst = ["kobi","james","jordon","yaoming","yi"]
    lst.sort()
    print(lst)
    # 是否可以對中文排序(了解 無規律可循)
    lst = ["王文","蔡徐坤"]
    lst.sort()
    print(lst)
    # reverse 列表反轉操作
    lst = [1,2,"a","蔡徐坤","易烊千璽"]
    lst.reverse()
    print(lst)

    5. 深淺拷貝

    列表的深淺拷貝

    # ### 列表的深淺拷貝
    """
    a = 100
    b = a
    a = 200
    print(b)
    lst1 = [1,2,3]
    lst2 = lst1
    lst1.append(4)
    print(lst2)
    """
    # 1.淺拷貝
    import copy
    """模塊.方法() 同名模塊下的同名方法"""
    # 方法一 (推薦)
    """
    lst1 = [1,2,3]
    lst2 = copy.copy(lst1)
    lst1.append(10)
    print(lst2)
    print(lst1)
    """
    # 方法二
    """
    lst1 = [1,2,3]
    lst2 = lst1.copy()
    lst1.append(11)
    print(lst1)
    print(lst2)
    """
    # 2.深拷貝
    """把所有層級的容器元素都單獨拷貝一份,放到獨立的空間中"""
    """
    # 現象
    lst1 = [1,2,3,[4,5,6]]
    lst2 = copy.copy(lst1)
    lst1[-1].append(77)
    lst1.append(8888)
    print(lst2)
    print(lst1)
    """
    import copy
    lst1 = [1,2,3,[4,5,6]]
    lst2 = copy.deepcopy(lst1)
    lst1[-1].append(999)
    print(lst2)
    print(lst1)
    
    # 其他容器的深拷貝
    lst1 = (1,2,3,{"a":1,"b":[10,20]})
    lst2 = copy.deepcopy(lst1)
    lst1[-1]["b"].append(30)
    print(lst1)
    print(lst2)
    """
    總結:
    淺拷貝:
    	只拷貝一級容器中的所有元素獨立出一個單獨的空間.
    深拷貝:
    	把所有層級的容器中所有元素都單獨拷貝一份,形成獨立的空間
    """
    """
    tuple 只有count  index 兩個方法 使用同列表
    """

    Python全棧字符串和列表怎么使用

    Python全棧字符串和列表怎么使用

    小提示:

    :d 強制接收的數據為整型,如果不是整型則報錯
    # 會報錯,因為9.5是小數
    strvar = "劉一峰昨天晚上買了%d個花露水泡腳".formar(9.5)
    print(strvar)
    # 不報錯,3.88會強轉成int類型為3
    strvar = "劉一峰昨天晚上買了%d個花露水泡腳" % (3.88)
    print(strvar)
    isdecimal 
    strvar = "123.34"
    res = strvar.isdecimal()
    print(res) 這個值是False,因為.會認為不是一個數字
    "123" 這個才會認為是純數字

    6. 小練習

    (1)字符串相關練習問題:

    # ### 字符串相關練習
    1.有變量name = "aleX leNb" 完成如下操作:
    移除 name 變量對應的值兩邊的空格,并輸出處理結果
    1)移除name變量左邊的"al"并輸出處理結果
    2)移除name變量右面的"Nb",并輸出處理結果
    3)移除name變量開頭的a與最后的"b",并輸出處理結果
    4)判斷 name 變量是否以 "al" 開頭,并輸出結果
    5)判斷name變量是否以"Nb"結尾,并輸出結果
    6)將 name 變量對應的值中的 所有的"l" 替換為 "p",并輸出結果 
    7)將name變量對應的值中的第一個"l"替換成"p",并輸出結果
    8)將 name 變量對應的值根據 所有的"l" 分割,并輸出結果。
    name = "aleX leNb"
    res = name.split('l')
    print(res)
    9)將name變量對應的值根據第一個"l"分割,并輸出結果。 
    10)將 name 變量對應的值變大寫,并輸出結果
    11)將 name 變量對應的值變小寫,并輸出結果
    12)將name變量對應的值首字母"a"大寫,并輸出結果
    13)判斷name變量對應的值字母"l"出現幾次,并輸出結果
    14)如果判斷name變量對應的值前四位"l"出現幾次,并輸出結果
    15)從name變量對應的值中找到"N"對應的索引(如果找不到則報錯),并輸出結果
    16)從name變量對應的值中找到"N"對應的索引(如果找不到則返回-1)輸出結果
    17)從name變量對應的值中找到"X le"對應的索引,并輸出結果
    18)請輸出 name 變量對應的值的第 2 個字符? 
    19)請輸出 name 變量對應的值的前 3 個字符? 
    20)請輸出 name 變量對應的值的后 2 個字符?
    21)請輸出 name 變量對應的值中 "e" 所在索引位置?
    2.實現一個整數加法計算器(兩個數相加):
    如:content = input("請輸入內容:") 用戶輸入:5+9或3+ 9或5 + 6,然后進行分割再進行計算
    3.升級題:實現一個整數加法計算器(多個數相加):
    如:content = input("請輸入內容:") 用戶輸入:5+9+6 +12+  13,然后進行分割再進行計算。
    4.計算用戶輸入的內容中有幾個整數(以個位數為單位)。
    如:content = input("請輸入內容:")   # 如fhdal234slfh98769fjdla
    5.等待用戶輸入內容,是否包含敏感字符?
    如果存在敏感字符提示“存在敏感字符請重新輸入”,敏感字符:“粉嫩”、“鐵錘”
    
    6.制作趣味模板程序需求:等待用戶輸入名字、地點、愛好
    拼裝數據打印出:敬愛可親的xxx,最喜歡在xxx地方xxx

    字符串相關練習答案:

    # ### 字符串相關練習
    # 1.有變量name = "aleX leNb" 完成如下操作:
    name = "aleX leNb"
    # 移除 name 變量對應的值兩邊的空格,并輸出處理結果
    name.strip()
    # 1)移除name變量左邊的"al"并輸出處理結果
    name.lstrip("al")
    # 2)移除name變量右面的"Nb",并輸出處理結果
    name.rstrip("Nb")
    # 3)移除name變量開頭的a與最后的"b",并輸出處理結果
    print(name[1:-1])
    # 4)判斷 name 變量是否以 "al" 開頭,并輸出結果
    res = name.startswith("al")
    print(res)
    # 5)判斷name變量是否以"Nb"結尾,并輸出結果
    res = name.endswith("Nb")
    print(res)
    # 6)將 name 變量對應的值中的 所有的"l" 替換為 "p",并輸出結果 
    res = name.replace("l","p")
    print(res)
    # 7)將name變量對應的值中的第一個"l"替換成"p",并輸出結果
    res = name.replace("l","p",1)
    print(res)
    # 8)將 name 變量對應的值根據 所有的"l" 分割,并輸出結果。
    res = name.split("l")
    print(res) 
    # 9)將name變量對應的值根據第一個"l"分割,并輸出結果。 
    # 字符串.split("分割的字符",分割的次數)
    # 從左向右
    print(name.split("l",1))
    strvar = "you-can-you-up"
    # 從右向左
    print(strvar.rsplit("-",2))
    # 10)將 name 變量對應的值變大寫,并輸出結果
    name.upper()
    # 11)將 name 變量對應的值變小寫,并輸出結果
    name.lower()
    # 12)將name變量對應的值首字母"a"大寫,并輸出結果
    print(name.capitalize())
    # 13)判斷name變量對應的值字母"l"出現幾次,并輸出結果
    print(name.count("l"))
    # 14)如果判斷name變量對應的值前四位"l"出現幾次,并輸出結果
    print(name.count("l",0,4))
    # 15)從name變量對應的值中找到"N"對應的索引(如果找不到則報錯),并輸出結果
    print(name.index("N"))
    # 16)從name變量對應的值中找到"N"對應的索引(如果找不到則返回-1)輸出結果
    print(name.find("N"))
    # 17)從name變量對應的值中找到"X le"對應的索引,并輸出結果
    print(name.find("X le"))
    # 18)請輸出 name 變量對應的值的第 2 個字符?
    print(name[1] )
    # 19)請輸出 name 變量對應的值的前 3 個字符? 
    print(name[:3])
    # 20)請輸出 name 變量對應的值的后 2 個字符?
    print(name[-2:])
    # 21)請輸出 name 變量對應的值中 "e" 所在索引位置?
    name = "aleX leNb"
    print(name.find("e"))
    print("<=====>")
    for i in range(len(name)):
    	if name[i] == "e":print(i)
    
    # 2.實現一個整數加法計算器(兩個數相加):
    # 如:content = input("請輸入內容:") 用戶輸入:5+9或3+ 9或5 + 6,然后進行分割再進行計算
    """
    content = input("請輸入內容:") 
    print(content)
    a,b = content.split("+")
    print( a,b )
    print(float(a.strip()) + float(b.strip()))
    """
    # 3.升級題:實現一個整數加法計算器(多個數相加):
    # 如:content = input("請輸入內容:") 用戶輸入:5+9+6 +12+  13,然后進行分割再進行計算。
    """
    content = input("請輸入內容:") 
    print(content)
    lst = content.split("+")
    print(lst)
    total = 0
    for i in lst:
    	total += float(i.strip())
    print(total)
    """
    # 4.計算用戶輸入的內容中有幾個整數.
    # 如:content = input("請輸入內容:")   # 如fhdal234slfh98769fjdla
    """
    content = input("請輸入內容:")
    total = 0
    for i in content:
    	if i.isdecimal():
    		total += 1
    print(total)
    """
    # 5.等待用戶輸入內容,是否包含敏感字符?
    # 如果存在敏感字符提示“存在敏感字符請重新輸入”,敏感字符:“粉嫩”、“鐵錘”
    # 方法一
    '''
    lst = ["粉嫩","鐵錘"]
    while True:
    	# 重置sign標記
    	sign = False
    	content = input("請輸入內容:")
    	# print(content)
    	"""
    	if content.find("粉嫩") == -1 and content.find("鐵錘") == -1:
    		print("ok")
    	else:
    		print("not ok")
    	"""
    	# 小分鐵嫩錘
    	for i in lst:
    		if i in content:	
    			# 把sign標記設置成True
    			sign = True
    			break
    	# 如果sign 這個標記是True,敏感,否則不敏感;
    	if sign == True:
    		print("存在敏感字符請重新輸入")
    	else:
    		print("不存在敏感字符")
    		break
    '''
    print("<====>")
    # 方法二 (python特有) 額外的
    """如果在循環時,遇到break臨時終止了循環,else這個分支不執行的
    只有在正常全部循環執行了一遍之后,才會執行else分支
    """
    """
    for i in range(3):
    	if i == 2:
    		break
    else:
    	print("ok")
    """
    
    """
    lst = ["粉嫩","鐵錘"]
    # 觸發break,不執行else , 不觸發break , 執行else
    while True:
    	content = input("請輸入內容:")
    	for i in lst:
    		# 但凡發現了敏感詞匯,直接break,就不會走else分支了
    		if i in content:
    			print("是敏感詞匯,請重新輸入")
    			# 終止內層的for循環
    			break
    	else:
    		print("不是敏感詞匯")
    		# 終止外層while循環
    		break
    """
    
    
    # 6.制作趣味模板程序需求:等待用戶輸入名字、地點、愛好
    # 拼裝數據打印出:敬愛可親的xxx,最喜歡在xxx地方xxx
    while True:	
    	name = input("請輸入姓名:  按q可以退出~")
    	if name.upper() == "Q":
    		print("歡迎老鐵下次來玩~")
    		break
    	place = input("請輸入地點:")
    	hobby = input("請輸入愛好:")
    	print("敬愛可親的{},最喜歡在{}地方{}".format(name,place,hobby))

    (2)列表相關練習問題:

    # ### 列表相關練習
    1.li = ["alex", "WuSir", "xboy", "oldboy"]
    1)列表中追加元素"seven",并輸出添加后的列表
    2)請在列表的第1個位置插入元素"Tony",并輸出添加后的列表
    3)請修改列表第2個位置的元素為"Kelly",并輸出修改后的列表
    4)請將列表l2=[1,"a",3,4,"heart"]的每一個元素添加到列表li中,一行
    代碼實現,不允許循環添加。
    5)請將字符串s = "qwert"的每一個元素添加到列表li中,一行代碼實現,不允許循環添加。
    6)請刪除列表中的元素"alex",并輸出添加后的列表
    7)請刪除列表請刪除列表中的第2至4個元素,并輸出刪除元素后的列表
    8)刪除列表中的第2個元素,并輸出刪除的元素和刪除元素后的列表
    9)請將列表所有得元素反轉,并輸出反轉后的列表
    10)請計算出"alex"元素在列表li中出現的次數,并輸出該次數。
    2,寫代碼,有如下列表,利用切片實現每一個功能
    li = [1, 3, 2, "a", 4, "b", 5,"c"]
    1)通過對li列表的切片形成新的列表l1,l1 = [1,3,2]
    2)通過對li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
    3)通過對li列表的切片形成新的列表l3,l3 = ["1,2,4,5]
    4)通過對li列表的切片形成新的列表l4,l4 = [3,"a","b"]
    5)通過對li列表的切片形成新的列表l5,l5 = ["c"]
    6)通過對li列表的切片形成新的列表l6,l6 = ["b","a",3]
    3,寫代碼,有如下列表,按照要求實現每一個功能。
    lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
    1)將列表lis中的"tt"變成大寫。
    2)將列表中的數字3變成字符串"100"。
    3)將列表中的字符串"1"變成數字101
    4,li = ["alex", "eric", "rain"]   
    利用下劃線將列表的每一個元素拼接成字符串"alex_eric_rain"
    5.利用for循環打印出下面列表的索引。
    li = ["alex", "WuSir", "xboy", "oldboy"]
    6.利用for循環和range 找出50以內能被3整除的數,并將這些數插入到一個新列表中。
    7.利用for循環和range從100~10,倒序將所有的偶數添加到一個新列表中,然后對列表的元素進行篩選,將能被4整除的數留下來
    8.查找列表li中的元素,移除每個元素的空格,并找出以"A"或者"a"開頭,并以"c"結尾的所有元素,并添加到一個新列表中,最后循環打印這個新列表。
    li = ["xboy ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", "  aqc"]
    9.敏感詞列表 li = ["張三", "李四", "王二", "麻子"]
    將用戶輸入的內容中的敏感詞匯替換成等長度的*(張三就替換***),并添加到一個列表中;如果用戶輸入的內容沒有敏感詞匯,則直接添加到新列表中。
    10.li = [1, 3, 4, "alex", [3, 7, “23aa”,8, "xboy"], 5,(‘a','b')]
    循環打印列表中的每個元素,并轉化為小寫,遇到列表則再循環打印出它里面的元素。
    
    11.tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
    a.講述元組的特性
    b.請問tu變量中的第一個元素 "alex" 是否可被修改?
    c.請問tu變量中的"k2"對應的值是什么類型?是否可以被修改?如果可以,請在其中添加一個元素 "Seven"
    d.請問tu變量中的"k3"對應的值是什么類型?是否可以被修改?如果可以,請在其中添加一個元素 "Seven"

    列表相關練習答案:

    # ### 列表相關練習
    # 1.li = ["alex", "WuSir", "xboy", "oldboy"]
    li = ["alex", "WuSir", "xboy", "oldboy"]
    # 1)列表中追加元素"seven",并輸出添加后的列表
    li.append("seven")
    # 2)請在列表的第1個位置插入元素"Tony",并輸出添加后的列表
    li.insert(0,"Tony")
    # 3)請修改列表第2個位置的元素為"Kelly",并輸出修改后的列表
    li[1] = "Kelly"
    # 4)請將列表l2=[1,"a",3,4,"heart"]的每一個元素添加到列表li中,一行
    # 代碼實現,不允許循環添加。
    l2=[1,"a",3,4,"heart"]
    li.extend(l2)
    print(li)
    # 5)請將字符串s = "qwert"的每一個元素添加到列表li中,一行代碼實現,不允許循環添加。
    s = "qwert"
    li.extend(s)
    print(li)
    # 6)請刪除列表中的元素"Tony",并輸出添加后的列表
    li.remove("Tony")
    print(li)
    # 7)請刪除列表中的第2至4個元素,并輸出刪除元素后的列表
    # del li[1:4]
    # print(li)
    # 8)刪除列表中的第2個元素,并輸出刪除的元素和刪除元素后的列表
    res = li.pop(1)
    print(res)
    print(li)
    # 9)請將列表所有得元素反轉,并輸出反轉后的列表
    li.reverse()
    print(li)
    # 10)請計算出"alex"元素在列表li中出現的次數,并輸出該次數。
    print(li.count("xboy"))
    
    # 2,寫代碼,有如下列表,利用切片實現每一個功能
    li = [1, 3, 2, "a", 4, "b", 5,"c"]
    # 1)通過對li列表的切片形成新的列表l1,l1 = [1,3,2]
    print(li[:3])
    # 2)通過對li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
    print(li[3:6])
    # 3)通過對li列表的切片形成新的列表l3,l3 = ["1,2,4,5]
    print(li[::2])
    # 4)通過對li列表的切片形成新的列表l4,l4 = [3,"a","b"]
    print(li[1:-1:2])
    # 5)通過對li列表的切片形成新的列表l5,l5 = ["c"]
    print(li[-1:])
    # 6)通過對li列表的切片形成新的列表l6,l6 = ["b","a",3]
    print(li[-3::-2])
    
    # 3,寫代碼,有如下列表,按照要求實現每一個功能。
    lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
    # 1)將列表lis中的"tt"變成大寫。
    print(lis[3][2][1][0].upper())
    # 2)將列表中的數字3變成字符串"100"。
    lis[3][2][1][1] = "100"
    # 3)將列表中的字符串"1"變成數字101
    # lis[3][2][1][-1] = 101
    # print(lis)
    lis[3][2][1].remove("1") # 先刪
    lis[3][2][1].append(101) # 在增
    print(lis)
    
    # 4,
    li = ["alex", "eric", "rain"]   
    # 利用下劃線將列表的每一個元素拼接成字符串"alex_eric_rain"
    # 一
    print("_".join(li))
    # 二
    strvar = ""
    for i in li:
    	strvar += i + "_"
    print(strvar.rstrip("_"))
    
    # 5.利用for循環打印出下面列表的索引。
    li = ["alex", "WuSir", "xboy", "oldboy"]
    # 一
    for i in range(len(li)):
    	print(i)
    # 二
    for i in li:
    	print(li.index(i))
    
    # 6.利用for循環和range 找出50以內能被3整除的數,并將這些數插入到一個新列表中。
    a = []
    for i in range(50):
    	if i % 3 == 0 :
    		a.append(i)
    print(a)
    # 7.利用for循環和range從100~10,倒序將所有的偶數添加到一個新列表中,然后對列表的元素進行篩選,將能被4整除的數留下來
    a = []
    for i in range(100,9,-2):
    	if i % 4 == 0:
    		a.append(i)	
    print(a)
    
    # 8.查找列表li中的元素,移除每個元素的空格,并找出以"A"或者"a"開頭,并以"c"結尾的所有元素,并添加到一個新列表中,最后循環打印這個新列表。
    li = ["xboy ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", "  aqc"]
    lst2 = []
    for j in li:
    	if (j.strip().startswith("A") or j.strip().startswith("a")) and j.strip().endswith("c"):
    		lst2.append(j.strip())
    print(lst2)
    
    # 9.敏感詞列表 li = ["張三", "李四", "王二", "麻子"]
    # 將用戶輸入的內容中的敏感詞匯替換成等長度的*(張三就替換***),并添加到一個列表中;如果用戶輸入的內容沒有敏感詞匯,則直接添加到新列表中。
    li = ["張三", "李四", "王二", "麻子"]
    lst = []
    """
    while True:
    	strvar = input("請輸入詞匯:")
    	lst.append(strvar.replace("張三","***").replace("李四","***").replace("王二","***").replace("麻子","*****"))
    	print(lst)
    """
    """
    while True:
    	strvar = input("請輸入詞匯:")
    	# 按q退出
    	if strvar.upper() == "Q":
    		break
    	# 過濾敏感詞匯
    	for i in li:
    		if i in strvar:
    			strvar = strvar.replace(i,len(i) * "*")
    	# 把處理數據放到列表中
    	lst.append(strvar)
    print(lst)
    """
    
    # 10.
    print("<====>")
    li = [1, 3, 4, "ALEx", [3, 7, "23AA",8, "XBoy"], 5,("A","b")]
    # 循環打印列表中的每個元素,并轉化為小寫,遇到列表則再循環打印出它里面的元素。
    for i in li:
    	# 判斷是否是字符串
    	if isinstance(i,str):
    		print(i.lower())
    	# 判斷是否是Number
    	elif isinstance(i,(int,bool,complex,float)):
    		print(i)
    	# 判斷是否是容器
    	elif isinstance(i,(list,tuple,set,dict)):
    		for j in i:
    			# 判斷容器中的元素是不是字符串
    			if isinstance(j,str):
    				print(j.lower())
    			# 不是的話直接輸出即可
    			else:
    				print(j)
    
    11.tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
    # a.講述元組的特性
    可獲取 , 不可修改 , 有序
    # b.請問tu變量中的第一個元素 "alex" 是否可被修改? 不可以
    # c.請問tu變量中的"k2"對應的值是什么類型?是否可以被修改?如果可以,請在其中添加一個元素 "Seven"
    列表 能改 tu[1][2]["k2"].append("Seven")
    # d.請問tu變量中的"k3"對應的值是什么類型?是否可以被修改?如果可以,請在其中添加一個元素 "Seven"
    元組,不行,

    感謝各位的閱讀,以上就是“Python全棧字符串和列表怎么使用”的內容了,經過本文的學習后,相信大家對Python全棧字符串和列表怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    襄城县| 通海县| 宜兴市| 石嘴山市| 保定市| 平安县| 静宁县| 崇左市| 宝应县| 清水河县| 荔波县| 修水县| 福州市| 阿合奇县| 宜黄县| 银川市| 怀来县| 晋江市| 竹山县| 元谋县| 连山| 万全县| 克东县| 昌邑市| 大埔区| 周至县| 循化| 绥滨县| 彩票| 唐山市| 吐鲁番市| 峨眉山市| 金秀| 蕉岭县| 桃江县| 余江县| 南皮县| 彭山县| 凉城县| 遵义县| 额敏县|