Day02--python數據類型之列表、元組、字典和集合

来源:https://www.cnblogs.com/shaojie1986/archive/2020/04/23/12764080.html
-Advertisement-
Play Games

python中的列表 # 列表# list 類,列表# 中括弧括起來 ,逗號分隔每個元素,列表中的元素可以是數字,字元串,列表,布爾值等等。# 列表還可以嵌套列表 列表的基本操作 (1)列表的常用操作 list1 = [11,22,33,44,55] # len 查看列表的元素的個數 print(l ...


                                              python中的列表

# 列表
# list 類,列表
# 中括弧括起來 ,逗號分隔每個元素,列表中的元素可以是數字,字元串,列表,布爾值等等。
# 列表還可以嵌套列表

=========列表的基本操作=========
(1)列表的常用操作
list1 = [11,22,33,44,55]
# len 查看列表的元素的個數
print(len(list1))

# 通過索引取值
print(list1[3])

# 對列表進行切片
print(list1[0:2])
print(list1[:])

# for迴圈操作
for i in list1:
  print(i)

(2)列表元素,可以被修改

# 1.通過列表索引修改元素
list1 = [11,22,33,44,55]
list1[1] = 123
print(list1)

# 2.通過列表切片修改元素
list1 = [11,22,33,44,55]
list1[1:3] = [222,333]
print(list1)

以上的運行結果為:

 

 (3)列表轉換成字元串的註意事項:
1.如果列表中既有數字又有字元串時,需要用for迴圈轉換。

# 列表中既有數字又有字元串
list1 = [11,22,33,44,"hello","python"]
string = ""
for i in list1:
    string = string + str(i)
print(string)

運行結果為:

 

 2.如果列表中只有字元串,列表轉換成字元串可以用join方法

list1 = ["hello","python"]
v1 = "".join(list1)
print(v1)

運行結果為:

 

 

                                                                                ============列表的常用方法=========

list1 = [11,22,33,44,55]

# 1.append 追加元素到列表,也可追加列表
v1 = list1.append(235)
print(list1)

# 2.clear 清空列表
list1.clear()
print(list1)

# 3.copy 拷貝,淺拷貝
list1 = [11, 22, 33, 44]
v1 = list1.copy()
print(v1)

# 4.計算元素出現的次數
v1 = list1.count(11)
print(v1)
# 5.insert 在指定索引位置插入元素,有兩個參數,參數一指定插入的索引,參數二參入的元素 list2 = [11, 22, 33, 44, "hello", "python"] list2.insert(1, 99) print(list2) # 6.列表的刪除操作 # remove 刪除列表中指定的元素 list2.remove(22) del list2[1] # 通過索引刪除 del list2[1:5] # 通過切片刪除 # pop() 刪除某個值,並獲取刪除值,沒有指定索引,預設刪除最後一個元素 # v1 = list2.pop(1) # print(list2) # print(v1) # 7.extend 擴展原來的列表,必須是可迭代對象(內部執行了for迴圈) list2 = [11, 22, 33, 44, "hello", "python"] list2.extend([111, 222]) list2.extend("hello") print(list2) # 8.reverse,對當前列表進行翻轉 li = [11, 22, 33, 44, 55] li.reverse() print(li) # 9.sort 排序(預設升序排列)sort(reverse=False) li = [11, 23, 10, 24, 26, 39, 73, 55] li.sort(reverse=True) # 降序排列 print(li)
第七題運行的結果:

                                                             python中的元組

# 元組,元組不可被修改,不能被增加或者刪除
# 一般寫元組的時候,推薦在最後加上逗號
# 元組的一級元素不可修改/刪除或增加
# 元組用法同列表,切片,成員運算in / not in

# 索引
age = (11, 22, 33, 44, 55)
v = age[2]

# 切片
v1 = age[0:3]
print(v, v1)

# for迴圈
for i in age:
    print(i)

# in or not in
print(22 in age)
print(123 not in age)        

                                                       python中的字典

# 字典的value可以是任意值,字典、列表、元組、字元串等。
# 列表和字典不能作為字典的key,元組可以作為字典的key,
# 布爾值可以作為key,但是當有字典的鍵為1/0時,哪一個在前面,後面的鍵值對就不顯示。
# 字典是無序的
info = {'name': 'egon', 'age': '18', 'sex': 'male'}

# 字典的取值
print(info['name'])

# 字典的刪除
del info['name']
print(info)

# 字典的for迴圈,預設迴圈輸出所有的key
for i in info:
    print(i)

# 通過values()方法可以得到字典的values
info = {'name': 'egon', 'age': '18', 'sex': 'male'}
for i in info.values():
    print(i)

# for 迴圈得到key和value
for k, v in info.items():
    print(k, v)

以上運行結果為:

 

 

                                                     =============字典的常用方法========

 

dict1 = {'hello': "python", "world": "java"}

# 1.fromkeys() 根據序列,創建字典,並指定統一的值

v1 = dict.fromkeys(["k1", "999", 123], 111)
print(v1)

# 2.get() 根據key獲取值,key不存在時,可以指定預設值(None)

dict1 = {'hello': "python", "world": "java"}
v = dict1.get('hello', 'hadoop')
print(v)

# 3.pop() 刪除並獲取值

dict1 = {'hello': "python", "world": "java"}
v = dict1.pop('hello')
print(v)

# 刪除字典所有元素 v1
= dict1.popitem() print(v1) # 4.setdefault() 設置值,已存在不設置,不存在設置,獲取當前key對應的值 dict1 = {'hello': "python", "world": "java"} v1 = dict1.setdefault('hello', 123) print(dict1, v1)
v2
= dict1.setdefault('jsddd', 'jjshhd') print(dict1, v2)
# 5.update() 更新 dict1 = {'hello': "python", "world": "java"} dict1.update({'k1': 1111, 'k2': 999}) print(dict1) dict1.update(k1=234, k2=3344, k3=9988) print(dict1)

 

第四題運行結果為:

 

                                                       python中的集合

# 集合中是由一組無序的可hash值,可以作為字典的key
# 集合由不同的元素組成,並且無序,集合中的元素必須是不可變類型
# 不可變類型:數字,字元串,元組
# 集合也是可迭代類型,可迭代類型還有字元串,列表,元組,集合,字典


# set 定義
s = {11, 22, 33, 44, 55}

# add() 添加元素
s.add('hello')
print(s)

# clear() 清除集合
s.clear()

# 集合刪除元素
# 1.s.pop() 隨機刪除元素
s.pop()
print(s)

# 2.s.remove()  # 指定刪除集合元素
s.remove(11)
print(s)

# 3.s.discard()  # 刪除元素,如果元素不存在,不會報錯
s.discard('hello')
print(s)
print("========================")
# 4.update() 更行多個值 s1 = {1, 2, 3, 4} s2 = {1, 3, 5, 7, 8} s1.update(s2) s1.update((5,6,7,8,9)) update 後面跟的數必須是可迭代類型 s1.add((2, 3, 4, 5, 6, 7, 8, 9)) # add後面跟的數必須是不可變類型 s1.add("hello world") # add() 只能更新一個值 s1.union(s2) print(s1)
# union() 求交集操作,原集合數據不變,update()更新操作,源集合發生變化。
# 5.for迴圈 for i in s1: print(i)

 



 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前端是什麼? 工作流程為從UI處得到原型圖或者效果圖,在項目(網站、微信公眾號、小程式、WEBAPP)中還原圖片效果,然後與後臺進行各種數據交互。 目前的前端市場整體還是處於迅速發展期,市場對於前端的需求也一直比較大。市場對於中高級的前端工程師需求更加迫切,所以就算入了前端的門,也需要不斷的提升自己 ...
  • 一、垃圾回收機制的必要性 由於字元串、對象和數組沒有固定大小,所以當它們的大小已知時,才能對它們進行動態的存儲分配。JavaScript程式每次創建字元串、數組或對象時,解釋器都必須分配記憶體來存儲那個實體。只要像這樣動態地分配了記憶體,最終都要釋放這些記憶體以便它們能夠被再用,否則,JavaScript ...
  • 一、什麼是架構 我想這個問題,十個人回答得有十一個答案,因為另外的那一個是大家妥協的結果,哈哈,我理解,架構就是骨架,如下圖所示: 人類的身體的支撐是主要由骨架來承擔的,然後是其上面的肌肉、神經、皮膚。架構對於軟體的重要性不亞於骨架對人類身體的重要性。 二、什麼是設計模式 這個問題我問過的面試者不下 ...
  • 1.事務控制的理解 事務控制的慨念這裡不作說明。事務控制的不好可能會造成資料庫數據的臟讀,污讀 舉個例子:轉賬的功能 張三給李四轉錢,各自的賬號金額操作完成後,需要各自更新到資料庫,此時如果張三更新完後,程式異常了結束了,使得李四的賬戶沒有更新,使得總金額不對 為了控制這種數據的不合理,引進了事務。 ...
  • 題目翻譯 現在,你需要求出A,B兩個多項式的相加結果。 輸入要求 每一個輸入文件包含一個測試樣例。每一個樣例占兩行並且每行包含多項式的信息: $K\space N_1 \space a_{N_1}\space N_2 \space a_{N_2} \space ...\space N_k \spac ...
  • A - Buggy Sorting 題意:這個題意就是給你一個錯誤的排序方式,要求你在它的這個排序方式下判斷是否存在正確的運行結果。若存在正確的結果,則輸出-1,否則輸出一個例子說明是錯誤的。題目的輸入是元素的個數n。 題解:這一題比較有意思,很容易判斷出只有當n=1 or n=2時運行結果是正確的 ...
  • PHP 中上手 Laravel 框架,除了要會增刪改查,也應該瞭解瞭解文件上傳。 ...
  • 學習Java的第一次總結 1.Java程式的編譯和執行 通過上圖,我們輕易得出java執行過程:由javac編譯為位元組碼文件,通過JVM轉換為底層操作系統可識別的命令操作。 註意:①Java跨平臺的始終是Java源文件,而不是JVM ②JVM在其間是充當中間層,是溝通java文件和不同操作系統(如L ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...