tft每日頭條

 > 科技

 > python三種基本的數據類型

python三種基本的數據類型

科技 更新时间:2024-08-18 19:14:14
01 如何選擇合适的數據結構?為什麼這很重要?

編程語言中的數據結構是用來整理和存儲數據。數據結構自身内部就定義了很多方法用來處理數據,不同的數據結構擁有不能的優勢,這篇文章就大概的過一遍Python中非常重要的數據結構。

首先,一定要明确一點,數據結構的選擇是基于對數據和項目最終目的的整體考量。不合适的數據結構可能會導緻更長的處理時間、更多的内存占用等等。

02 Python中的數據結構

Python中用途最廣泛的數據結構有以下幾種:

  • tuple
  • str
  • range
  • list
  • dict
  • set

我們一起來過一遍tuple和set使用方法吧!

tuple 元組

tuple這個數據結構是被小括号包圍的一組數據,并且它有一個重要的屬性,一旦被定義,不可以被更改

tuple元組的定義

python三種基本的數據類型(Python基礎篇-一文搞定Python數據結構tuple和set)1

圖1

如圖1所示,我們定義了兩個變量a和b,至于區别隻是b的數據後面加了一個逗号。如果不加逗号,a的 數據類型被定義成了整數型。加了逗号,Python則會默認将數據類型設置為tuple。在圖2中,展示了幾種常用的定義tuple的方法。

python三種基本的數據類型(Python基礎篇-一文搞定Python數據結構tuple和set)2

圖2

tuple内數據的調用

python三種基本的數據類型(Python基礎篇-一文搞定Python數據結構tuple和set)3

圖3

len()函數可以返回tuple數據結構中一共有多少個數據,我們注意到tuple數據結構中并不需要所有的數據格式是一樣的。使用print()将tuple元組的數據個數打印出來,并且通過a[i]的形式調用每一個數據。

a[i]中的下标i是從0開始的,也就是說a中的1,2,‘逃學博士’分别對應的下标為0,1,2。

tuple數據一旦創建,無法更改

繼續拿a舉例,如果我們想要改變tuple a中的數據,比方說a[0],我們是不是可以這麼做呢?

python三種基本的數據類型(Python基礎篇-一文搞定Python數據結構tuple和set)4

圖4

我們試圖将數值5賦值給a[0],但是系統報錯顯示tuple不支持賦值,也就是a[0]無法被修改。這也是tuple最重要的屬性之一,tuple的好處就是數據安全性高。

tuple數據一旦創建,真的不能修改嗎?

其實,tuple的數據無法修改也不是百分之百的。如圖5

python三種基本的數據類型(Python基礎篇-一文搞定Python數據結構tuple和set)5

圖6

a中的最後一個數據為list,a[2][0]則會指定為‘逃學博士’。如果對a[2][0]進行賦值,我們發現tuple 元組a的數據變了。原因在于我們無法直接賦值給a[2],因為a[2]是元組a的數據。但是,a[2]是一個list,而list的數據是可以被修改的,因此調用a[2][0]是可以直接修改list裡面的内容。

集合 set

集合set是用大括号将數據包裹起來,如圖7所示。

python三種基本的數據類型(Python基礎篇-一文搞定Python數據結構tuple和set)6

圖7

那麼,集合set最重要的屬性是什麼呢?集合set中是無法包含重複的數據。如圖8,我們先定義一個list [1, 2, 3, 4, 1, 2, 3]。其中1, 2, 3是重複出現的。如果有一個項目需要我們去查找這個數據中一共出現的多少個數據,不包括重複的,就可以用到set集合了。

python三種基本的數據類型(Python基礎篇-一文搞定Python數據結構tuple和set)7

圖8

向集合set中添加和删除數據是被允許的。添加數據使用add()函數,删除函數使用remove()函數。

python三種基本的數據類型(Python基礎篇-一文搞定Python數據結構tuple和set)8

圖9

圖9中,我們給集合b添加了兩次數據5。但是,由于set無法擁有兩個重複的數據。因此,第二次被忽略了,而且系統不會報錯。

python三種基本的數據類型(Python基礎篇-一文搞定Python數據結構tuple和set)9

圖10

調用remove()函數,我們第一次調用去掉了集合b中的數字5。但是第二次調用remove()系統顯示報錯,這是因為集合b中這時候已經沒有我們要去除的5了。

總結

數據結構還有很多,集合set和元組tuple中的調用方法也還有很多。這篇文章想說的是幾個要注意的比較有意思的點。謝謝大家耐心的看完。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved