python序列类型举例说明_Python基础__Python序列基本类型及其操作(1)
本節(jié)考慮的Python的一個中要的內置對象序列, 所謂的序列即一個有序對象的集合。這里的對象可以是數字、字符串等。根據功能的不同將序列分為字符串、列表、元組,本文將以下這幾種對象做一些介紹。
一. 字符串
字符串是一個非常常見的對象,我們平時在文本中編輯的對象都是字符串,例如‘你的名字,‘I love python!’等都是字符串,字符串的重要性不言而喻。
1.字符串的定義
通常我們將需要編輯的字符串的字符串放在一個英文的單引號/英文雙引號中,例如當我們在編輯器輸入'I love python ! '的時候我們就創(chuàng)建了一個字符串對象,此時的字符串還沒有變量來接受,所以我們需要用一個變量名來接受該字符串。例如 s1 =?'I love python ! ', 這就是創(chuàng)建一個字符串的完整格式,即 變量名 = ‘’字符串對象’,這里需要注意的是英文單引號。
2.字符串的相關運算
>>>s1 =?'I love python ! '
>>>s1 = 'Hello 2018 ! '
合并:+ , 字符串的加法表示字符串的合并
>>> s1+s2
'I love python !Hello 2018 !'
重復: *, 乘法表示字符串的重復
>>> s1*3
'I love python !I love python !I love python !'
索引:s1[index] 正數表示從第一個位置0開始索引,負數表示從倒數第一個開始 。注意空格也是一個字符串
>>> s1[0]
'I'
>>> s1[-1]
'!'
>>> s1[1]
' '
s.find(object):查找元素位置,默認返回元素第一次出現的位置,可添加查找范圍,若沒有返回-1
s.index(value, [start, [stop]])默認返回元素第一次出現的位置,可添加查找范圍,如不存在則會報錯。
s[i:j] : 切片,截取字符串的某一部分,i為截取開始段,j為截取結束段。注意包含開始不包含結束( 左閉右開)
>>> s1[2:7]
'love '
len(s): 判斷長度, 返回字符串的長度
s.count('a'): 返回s中a的個數,若沒有返回0
s.endswith('hk'): 是否以...結尾,返回True /False
s.startswith('a'):是否以...開始,返回True /False
s.replace('old','new'): 替換,需要特別注意的是替換并沒有改變字符串的值,而是開辟了新的一個字符串對象,若需要用新的字符串對象字需要為它賦一個新的變量名
>>> s1.replace('love','hate')
'I hate python !'
>>> s1
'I love python !'
s.isalpha(): 判斷是否全是字母/漢字
s.isdigit():判斷是否全是數字,只能判斷正整數
s.islower():判斷是否全是小寫
s.isupper():判斷是否全是大寫
s.lower(): 轉換為小寫
s.upper(): 轉換為大寫 #另外開辟一個地址需要一個新的地址接受,s本身沒有變
>>> s1.upper()
'I LOVE PYTHON !'
>>> s1
'I love python !'
s.split(): 分割,默認以空格分割,也可以自定義分割位置,分割之后轉化為列表。字符串自身沒有不改變。
>>> s1.split()
['I', 'love', 'python', '!']
>>> s1.split('love')
['I ', ' python !']
>>> s1
'I love python !'
只對經常用到的操作做以介紹,在介紹中特別強調了,字符串自身沒有發(fā)生改變,這一點是非常重要的字符串一旦定義就不會發(fā)生改變,若要利用操作之后新的字符串一定一定要將其賦給一個新的變量名。
二. 列表
列表Python中比較靈活的是有序對象的集合,以字符串不同的是,列表可以包含任何對象:數字,字符串,甚至其他列表。同樣,與字符串不同的是列表都是可變對象,他們支持在原處修改。下面對列表進行描述:
列表是:
任意對象的有序集合
通過偏序讀取
可改變長度、異構以及任意嵌套
可改變序列分類
1.定義
L = ['Hello','world','!'] ? ? 列表的定義是放在英文[]中括號內的,可嵌套如 L =?['Hello','world','!',['I','love','Python','!']]
2. 列表的運算
L = ['Hello','world','!']
L1 =?['Hello','world','!',['I','love','Python','!']]
L[i],L[i][j]: 索引
>>> L1[2]
'!'
>>> L1[3]
['I', 'love', 'Python', '!']
>>> L1[3][1]
'love'
L[i:j]: 切片,左閉右開
len(L):
+:合并
*: 重復
添加:
L.append(object):在末尾添加對象,一次只能添加一個對象,若對象為一個列表時將該列表視為一個對象
L.extend(object):在末尾添加對象,一次可以添加多個對象,這是append()函數與insert()函數的主要區(qū)別
L.insert(index,object):在固定的位置添加對象,index表示添加對象的位置,一次只能添加一個對象。注意添加對象后面的
對象的索引都發(fā)生了變化。
刪除:
L.pop() 默認刪除最后一個元素
L.remove(value) -> None 指定刪除
L.clear() -> None -- remove all items from L:將列表清空
L.copy() -> list -- a shallow copy of L: 復制,注意復制后不是同一個對象,內存地址改變。copy()是復制函數,復制之后變?yōu)閮蓚€相同的對象,他們相同但不是同一個 ? ? ? 對象
>>> L2 = L.copy()
>>> L2
['Hello', 'world', '!']
>>> L2 == L
True
>>> L2 is L
False
>>> id(L)
59761048
>>> id(L2)
59761128
L.reverse(): ?將列表反轉
L.sort(): 排序,排序是一個語言中非常重要的一部分,以后會對sort()函數做一個深入的介紹,這里簡單介紹一些用法。
>>> L
['Hello', 'world', '!']
>>> L.sort()
>>> L
['!', 'Hello', 'world']
>>> L.sort(key = len, reverse = True)
>>> L
['Hello', 'world', '!']
字符串轉化為列表:s.split(), list(s)
>>> s1 = 'China is a great country'
>>> L = s1.split()
>>> L
['China', 'is', 'a', 'great', 'country']
>>> L1 = list(s1)
>>> L1
['C', 'h', 'i', 'n', 'a', ' ', 'i', 's', ' ', 'a', ' ', 'g', 'r', 'e', 'a', 't', ' ', 'c', 'o', 'u', 'n', 't', 'r', 'y']
列表的基本操作目前就介紹這些,進一步的操作將在以后的學習中介紹。 ***注意列表是可變的***
三. 元組
元組有簡單對象構成,元組與列表非常相似,只不過元組不能在遠處修改(它們是不可變的),構成使用圓括號,元組具有列表的大多數屬性。
元組是:
任意對象的有序集合
通過偏序讀取
屬于不可變序列類型
固定長度、異構任意嵌套
1. 元組的定義
元組的定義方式有兩種如下
>>> T =1,2,3
>>> T
(1, 2, 3)
>>> T=(1,2,3)
>>> T
(1, 2, 3)
2. 元組的操縱
元組的基本操作與列表一樣,這里不多做介紹
問題: 為什么有了列表還要元組?
元組的不可變性提供了某種完整性,可以確保在程序中不會被修改,而列表沒有這樣的性質。元組的角色類似于‘常量聲明’, 一旦定義無法改變,而列表不具備這樣的性質。實際中應該按需應用。
總結
以上是生活随笔為你收集整理的python序列类型举例说明_Python基础__Python序列基本类型及其操作(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql版本的索引类型_【mysql】
- 下一篇: 可作为工质状态参数的是_制冷工质的热力状