python編程入門八:列表、元組、字符串的轉換及補充方法

2021-02-20 洪博hopes

在python中,包括我們之前已經講過列表、元組及字符串的一些用法了,大家應該可以感覺到,這三種「數據類型」還是有很多相同之處的,所以python中也可以輕易的實現三種類型之間的轉換,當然本篇文章還會補充和它們相關的一些方法。

8.1 轉換為列表方法–list()

list這個單詞我們在講列表的時候已經很熟悉了,因為定義一個列表時經常是:

list1 = [1, 2, 3, 4, 5]list2 = [6, 7, 8, 9 ,10]

建立一個空列表時也是:

結果:

所以給列表起名為「list1」、「list2」不是沒理由的,但是在這裡,list()又變成了一種方法,他的作用是可以將一個「可迭代對象」轉換為列表,關於迭代,我在一本書上看到了一個比較好理解的說法:所謂迭代,就是重複反饋的過程,其目的通常是為了接近並達到所需的結果。每一次對過程的重複就是一次「迭代」,而每一次迭代得到的結果都會被用來作為下一次的初始值進行下一次「迭代」,所以迭代一般都是反覆重複的過程,當然for循環也是一種迭代。
當list()內沒有參數時就是建立一個空列表,如果在裡面加一個「字符串」參數呢,我們試一下:

a = "HopesLi"b = list(a)print(b)

結果:

['H', 'o', 'p', 'e', 's', 'L', 'i']

是不是很神奇?通過list()方法可以直接將字符串的每一個字符拆分開,然後按照順序排列在列表裡,要知道,這種操作在C語言裡可沒這麼簡單;所以這個list()方法一定要記住。

8.2 轉換為元組方法–tuple()

上面我們講了講「可迭代對象」轉換為列表的方法–list(),那這裡轉換為元組的方法其實也大相逕庭,我們也肯定知道定義一個空元組的方式:

結果:

所以同樣可以使用tuple()來將一個「字符串」轉換為元組:

a = "HopesLi"b = tuple(a)print(b)

結果:

('H', 'o', 'p', 'e', 's', 'L', 'i')

所以輕易可以看出來tuple()和list()的轉換效果基本是一樣的。

8.3 轉換為字符串方法–str()

說到str(),我們肯定能想到int()、float()等強制類型轉換的用法,當然,list()和tuple()感覺也是一種強制類型轉換,那這裡我們類比一下,既然a = list() 和 b = tuple()分別是定義一個空列表和一個空元組,那麼c = str()是不是就代表定義一個「空字符串」?這個說法還挺新奇,當然我們可以試一下到底對不對:

a = str()print(a)print(type(a))

結果:

可以看出來,確實和我們想的一樣,c = str()確實是定義了一個「空字符串」,但是這樣並沒有啥意義,所以就鮮有人提起;那麼同樣的,我們是不是也可以把字符串或元組轉換為字符串呢?同樣我們也進行嘗試:

a = [1,2,3]b = str(a)print(b)print(type(b))

結果:

我們這裡可能會有個大大的問號,顯然通過type獲得的數據類型為「字符串」類型是可以理解的,但是為啥輸出結果還是「[1,2,3]」呢?不妨我們把當前的「b」再轉換回列表試試:

a = [1,2,3]b = str(a)print(b)
c = list(b)print(c)

結果:

[1, 2, 3]['[', '1', ',', ' ', '2', ',', ' ', '3', ']']

怎麼樣?是不是可以理解了,上面輸出的「[1,2,3]」其實把每一個符號或數字都變成了字符串中的字符,當我們再將它轉換回列表後就能發現每一個符號和數字都被當成了一個列表中的「元素」,好好理解一下。

8.4 取最大值方法–max()

max()方法的作用是返回一個列表或者元組等集合中的最大值,當然,max()內的參數可以是列表、元組也可以是某些數的集合,非常簡單,舉例說明:

a = [2, 4, 7, 4, 5]print(max(a))
b = (3, 8, 9, 2, 4)print(max(b))
print(max(4, 8, 9))

結果:

結果很明顯,我們不再贅述。

8.5 取最小值方法–min()

min()方法的作用就很明顯了,返回一個列表或者元組等集合中的最小值,用法和max()方法一樣,直接舉例說明:

a = [2, 4, 7, 4, 5]print(min(a))
b = (3, 8, 9, 2, 4)print(min(b))
print(min(4, 8, 9))

結果:

同樣用法非常簡單,但是會不會有人想問:如果是不同類型的參數進行比較結果會是怎樣。?我們不妨試一試:

a = [1, "hopes", 4, "li"]print(min(a))

結果:

Traceback (most recent call last):  File "test.py", line 2, in <module>    print(min(a))TypeError: '<' not supported between instances of 'str' and 'int'

結果給我們的錯誤信息很明顯:「not supported between instances of 『str』 and 『int』」,這代表str和int類型的數據不能夠相互比較,也就代表不管是max()還是min(),它們都只能進行相同數據類型的比較。

8.6 獲得參數長度方法–len()

len()方法用於返回給定參數的長度,比如:

str1 = "HopesLi"print(len(str1))
list1 = [1,2,3]print(len(list1))
tuple1 = (2,3,4,5)print(len(tuple1))

結果:

同樣用法非常明顯。

8.7 求和方法–sum()

sum()用於返回參數的總和,參數可以為列表、元組以及集合等,但是既然是可以相加的方法,那麼不管是列表、元組還是集合內的元素都需要為可加的數字類型,同樣舉例說明:

a = [1,3,4]print(sum(a))
print(sum(a,5))

結果:

當然如果我們嘗試把字符串類型加入進行求和呢?

a = [1,3,4,"hopes"]print(sum(a))

結果:

Traceback (most recent call last):  File "test.py", line 2, in <module>    print(sum(a))TypeError: unsupported operand type(s) for +: 'int' and 'str'

錯誤信息提示「unsupported operand type(s) for +: 『int』 and 『str』」不能夠將int類型和str類型進行相加(其實都不用試,這是肯定的)。

8.8 排序方法sorted()

sorted()方法用於返回一個排序好的列表或元組,但只能是一個參數,不能把一些數的集合當作參數,舉例說明:

a = (2,5,3)print(sorted(a))

結果:

看到這個結果發現問題了沒有,我明明定義的a是一個元組,但是為什麼排序輸出後是一個列表?沒錯,這確實是sortes()和sort()方法的區別,sort()是直接原地排序,但是sorted()卻是返回一個排序好的「新列表」,也就是說sorted()方法在執行後後自己分配一個內存空間用來存儲排序好的新列表。
那接下來我們試一下使用sorted()方法排序多個數字組成的集合會是怎樣?

結果:

Traceback (most recent call last):  File "test.py", line 2, in <module>    print(sorted(3,5,2))TypeError: sorted expected 1 argument, got 3

錯誤信息提示我們「sorted expected 1 argument, got 3」只能傳入1個參數,但我們卻給了3個,所以我們這裡確定,排序只能傳入一個參數,可以是列表、元組等。

8.9 生成二元組方法enumerate()

enumerate()方法用於生成一個由二元組組成的迭代對象,注意,這裡返回的是一個迭代對象,迭代對象是啥樣的?我們試一下:

str1 = "hopes"print(enumerate(str1))

結果:

<enumerate object at 0x10e96a800>

如上,迭代對象貌似只是一個「代號」,我們從中好像並不能直接獲取什麼信息,所以迭代對象我們需要通過for循環將其進行遍歷:

str1 = "hopes"print(enumerate(str1))for i in enumerate(str1):    print(i)

結果:

<enumerate object at 0x10f30c840>(0, 'h')(1, 'o')(2, 'p')(3, 'e')(4, 's')

看吧,我們通過enumerate()方法將str1的所有字符拆分並且以二元組的形式顯示出來了,並且我們也明白了一件事:迭代對象需要使用for循環進行「拆包」。

相關焦點

  • 一文看懂Python列表、元組和字符串操作
    >>> list((1,2))把一個元組轉換成一個列表[1,2], list('test')可把字符串轉換成['t','e','s','t']列表列表須知:1.2 列表操作列表的所有操作如下表所示:
  • Python容器:列表與元組
    與字符串不同的是,元組和列表並不要求所有元素的種類相同,每個元素都可以是任何python類型的對象。列表可變,賦值後可插入或刪除其中的元素。元組不可變,賦值後不可更改。1.2使用list()將其他數據類型轉換成列表將一個字符串轉換成了由單個字母組成的列表>>>list('cat')['c','a','t']將一個元組轉換成了列表>>>a_tuple=('ready','fire','aim')>>>list(a_tuple
  • Python字符串的45個方法詳解
    文章來源:AI入門學習作者:小伍哥python中字符串對象提供了很多方法來操作字符串必須進行全面的了解與學習,後面的代碼處理才能更得心應手,編程水平走向新臺階的堅實基礎。目前一共有45個方法,給大家分類整理,可以收藏查詢使用。 #獲取字所有的符串方法print(dir(str))[...
  • Python的list、元組、字典、字符串常用方法操作
    導讀Python的list、元組、字典、字符串常用方法操作
  • Python從入門到精通要掌握哪些基礎知識?
    Python從入門到精通要掌握哪些Python基礎知識?Python作為一門程式語言,已經發展了近三十年,近幾年,隨著人工智慧時代的來臨分不開,python人才已經成為一線網際網路企業的青睞的對象,Python爬蟲也由此成為程式語言中的「網紅」。
  • python變量類型,列表和元組
    微信公眾號:學點啥玩點啥小白友好型python變量類型,列表和元組# -*- coding: utf-8 -*-"""Created on Mon Jan 25 12:25:55 2021@author: sd"""#第2章.變量和簡單數據類型#變量#1.字符串
  • Python 入門 – 使用字符串
    你可以使用內置的str()函數將其他類型轉換為字符串。在本文中,你將學習如何:創建字符串字符串方法字符串格式化字符串連接字符串切片讓我們從學習創建字符串的不同方法開始吧!創建字符串這裡是創建字符串的一些例子:
  • python 列表和元組 還有range
    python 列表和元組主要內容:1. 列表的介紹2.列表的增刪改查3. 列表的嵌套4. 元組和元組嵌套5. range1、列表的介紹列表是python的基礎數據類型之一 ,其他程式語言也有類似的數據類型。
  • Python學習筆記:列表、元組和字典
    第3章 列表、元組和字典python內置的三種常見數據結構:列表(list)、元組(tuple)和字典(dict)。這三種數據結構都可用於保存多個數據項。列表和元組比較相似,它們都按順序保存元素,每個元素都有自己的索引,因此列表和元組都可通過索引訪問元素。二者的區別在於列表是可修改的,元組不可修改。字典則以key-value的形式保存數據。
  • Python入門14-元組tuple
    元組沒有append()、insert()這樣的方法,可以連接(用+)或刪除整個元組(用del) 元組用小括號,列表用中括號。classmates=('Michael','Bob','Tracy',"小明","小華","三毛")#元組 元組中的元素類型也可以不相同。
  • python入門第五課:數字列表的操作、列表切片與複製、元組的遍歷
    本教程使用的課本是《Python編程:從入門到實踐》,作者:[美] Eric Matthes一、數字列表的操作我們經常需要處理純數字的列表,這就不得不提到一個很常用的函數range(),用這個函數可以批量產生數字,比如我們想自動生成1到10的數字,就要用range
  • python編程入門,零基礎學習Python基礎教程
    這裡推薦這門python編程入門基礎教程,適合零基礎的同學學習!python軟體工程師都學什麼?自學Python,看視頻學的更快、更透徹一些,給你個課程大綱!然後我們會學習int,string,float三種簡單的變量類型,變量間的計算,變量的輸入輸出,if判斷語句,while循環語句,for循環語句,break和continue的使用,函數的基本使用,模塊的使用,列表,元組,字典三種高級變量,字符串的常用操作。
  • python 通關列表操作方法詳解
    給IT入門加星標,提升編程技能列表是Python中最基本的數據結構,列表是最常用的Python數據類型,列表是一個數據的集合,集合內可以放任何數據類型,可對集合方便的增刪改查操作。Python已經內置確定序列的長度以及確定最大和最小的元素的方法學好python列表,把以下案例練習一遍,算通關·序號函數描述1list.append(self,p_object)給列表後面追加新的對象2list.clear(self)清空列表中的元素3list.copy(self)淺複製列表4list.count(self,value)統計某個元素在列表中出現的次數5list.extend
  • 一天快速入門 Python
    Python 是由Guido Van Rossum在 90 年代早期設計,現在是最常用的程式語言之一。特別是人工智慧的火熱,再加之它的語法簡潔且優美,實乃初學者入門AI必備的程式語言。方法:返回列表元素最大值。
  • Python快速入門教程,滿滿都是乾貨
    getopt.getopt方法此方法解析命令行選項和參數列表。以下是此方法的簡單語法 -getopt.getopt(args, options, [long_options])Pythongetopt.GetoptError異常當在參數列表中有一個無法識別的選項,或者當需要一個參數的選項不為任何參數時,會引發這個異常。異常的參數是一個字符串,指示錯誤的原因。
  • 如何入門Python之Python基礎教程詳解
    (小編在文章末尾為你們準備了,全套的Python零基礎資料,幫助你快速入門Python)第1章 Python編程基礎1.程式語言是什麼2.編譯型語言和解釋型語言3.Python是什麼.Mac安裝Python環境13.python不是內部或外部命令的解決方法14.編寫第一個Python程序15.Python交互式解釋器16.Python注釋第2章 變量類型和運算符
  • Python編程23:字符串拼接
    這就涉及到編程中的另一個知識點:轉義字符。術語箱轉義字符:轉義字符是很多程式語言都會有的,就是使用「\」和字符組合起來,它會形成另外一個意思。比如非常常用的「\n」,就是換行的意思。因此,拼接字符串時想實現分行,就可以把轉義字符「\n」加進去,如圖2:
  • Python列表和元組
    @Author :RunsenPython列表和元組總結什麼是列表和元組列表是動態的,長度大小不固定,可以隨意地增加、刪減或者改變而元組是靜態的,長度大小固定,無法增加刪減或者改變定義列表和函數```l = [1, 2, 'hello', 'world'] # 列表中同時含有
  • Python3的基本類型,列表(瘋狂Python)
    本章內容框架結構:1.簡述列表[list],元組[tuple],字典[dict]2.了解一下序列3. List(列表)1.簡述列表[list],元組[tuple],字典[dict]1-1 python內置三種常用的數據結構:list,tuple,dict,都可用於保存多個數據項。
  • Python字符串拼接(包含字符串拼接數字)
    /c.biancheng.net/python/JavaPythonC++PHP需要注意的是,這種寫法只能拼接字符串常量。在很多應用場景中,我們需要將字符串和數字拼接在一起,而 Python 不允許直接拼接數字和字符串,所以我們必須先將數字轉換成字符串。