python实验二序列_python 学习笔记 二 序列, 列表, 元组, 字符串
序列
序類是一個集合概念, Pthon包括六種內建序列: 列表, 元組, 字符串, Unicode字符串, buffer對象和xrange對象. 其中, 我們最長用的要數前三個.
通用序列操作
1. 索引(indexing)
序列的所有元素都是有編號的(從0開始...), 這些元素可以通過編號訪問, 如:
>>> greeting = 'Hello'
>>> greeting[0]
'H'
使用負數索引(從-1開始...)是從右邊開始的:
>>> greeting[-1]
'o'
若函數調用返回一個序列, 可以直接對返回結果進行索引:
>>> fourth = raw_input("Year: ")[3]
Year: 2014
'4'
2. 分片(sliceing)
使用倆個索引來訪問一定范圍內的元素:
>>> tag = 'Python web site'
>>> tag[9:30]
'www.python.org'
>>> tag[32, -4]
'Python web site'
一些技巧:
>>> numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
訪問最后三個元素只需要空一個索引:
>>> numbers[-3:]
[8, 9, 10]
同樣適用與訪問前三個:
>>> numbers[:3}
[1, 2, 3]
若要復制整個序列, 可使用numbers[:]
改變步長(step length)
分片時默認的步長是1, 我們可以改變步長:
>>> numbers[0:10:2]
[1, 3, 5, 7, 9]
3. 加法(adding)
通過加號進行序列相加:
>>> [1, 2, 3] + [4, 5, 6]
[1, 2, 3, 4, 5, 6]
>>> 'Hello, ' + 'world!'
'Hello, world'
相同類型的序列才能相加!!!
4. 乘法(multiplying)
用數字乘以一個序列會產生新的序列:
>>> 'python' * 3
>>> 'pythonpythonpython'
>>> [42] * 5
[42, 42, 42, 42, 42]
5. 成員資格
使用in運算符檢查一個值是否在序列中, 在,返回True, 不在, 返回False.
>>> name = 'python'
>>> 'o' in name
True
>>> 'x' in name
False
>>> 'py' in name
True
6.長度, 最大值和最小值
內建函數len, max, min可用于求序列包含的元素個數, 最大值, 最小值.
>>> lst = [1, 2, 3]
>>> len(lst)
3
>>> max(lst)
3
>>> min(lst)
1
列表(list)
列表是Python中一個非常強大的內建類型, 列表元素寫在[ ]中, 下面是一個簡單的類表:
colors = ['red', 'blue', 'green']print colors[0] ## red
print colors[2] ## green
print len(colors) ## 3
=賦值運算使倆個變量在內存中指向同一個列表:
b = colors ## Does not copy the list
list函數
可以根據字符串創建列表
>>> list('Hello')
['H', 'e', 'l', 'l', 'o']
None, 空列表與初始化
空列表:[ ]
Python中有一個內建值Node: 表示'這里上面也沒有'
如果想讓一個列表占用10個元素空間, 可以這樣: [None] * 10,
基本列表操作
1.元素賦值
>>> num = [1, 2, 3]
>>> num[1] = 10
>>> num
[1, 10, 3]
2.刪除元素
使用del語句實現刪除:
>>> names = ['Alice', 'Bob', 'Cindy']
>>> del names[1]
>>> names
['Alice', 'Cindy']
3. 分片賦值
基本使用:
>>> name = list('Perl')
>>> name
['P', 'e', 'r', 'l']
>>> name[2:] = list('ar')
name
['P', 'e', 'a', 'r']
可以使用與原序列不等長的序列將分片替換:
>>> name = list('Perl')
>>> name[1:] = list('ython')
>>> name
[''P, 'y', 't', 'h', 'o', 'n']
可以在不需要替換的情況下插入新元素:
>>> numbers = [1, 5]
>>> numbers[1:1] = [2, 3, 4]
>>> numbers
[1, 2, 3, 4, 5]
這里實質上是替換了空白, 可以將這個思路反過來, 實現刪除:
>>> numbers = [1, 2, 3, 4, 5]
>>> numbers[1, 4] = [ ]
>>> numbers
[1, 5]
列表方法
1.append
在列表末追加元素:?list.append(elem)
2.count
統計某個元素在列表中出現的次數:?list.count(elem)
3.extend
在列表末尾一次性追加另一個列表的多個值, 也就是說可以用新列表拓展原有的: list1.extend(list2)
4.index
找除某個值在列表中第一次出現的索引位置: list.index(elem), 如果這個值不存在, 會引發異常
5.insert
將元素插入到列表的第n個位置之后: list.insert(n, elem), n是從1開是的.
6.pop
移除列表的一個元素(默認最后一個), 并返回它的值: list.pop() 或指定位置, list.pop(n)
7.remove
移除某個值在列表中的第一個匹配項: list.remove(elem)
8.reverse
反向存放列表中的元素: list.reverse()
9.sort
在原位置對列表進行排序(默認升序, 原位置意味著改變列表): list.sort()
10.自定義排序
元組(tuple)
元組的特點是不可改變. 元組一般是用圓括號括起來的.
用逗號分隔一些值創建元組:
>>> 1, 2, 3
(1, 2, 3)
空元組
>>> ()
()
一個值的元組
>>> 42,
(42,)
逗號不可丟.
tuple函數
以一個序列作為參數, 并把它轉換成元組, 如果參數就是元組, 原樣返回,例:
>>> tuple([1, 2, 3])
(1, 2, 3)
>>> tuple 'abc'
('a', 'b', 'c')
元組存在的意義
1. 元組可以在映射中充當鍵(key)值---列表則不行
2. 元組可以作為很多內建函數和方法的返回值存在
字符串(string)
格式化
在%左側放置一個字符串, 右側放置希望個格式化的值.
>>> format = "Hello, %s, %s enough for ya?"
>>> values = ('world', 'Hot')
>>> print format % values
Hello, world, Hot enough for ya?
注: 如果格式化串中包含%, 使用%%轉義.
其他:
-: 表示左對齊,
+: 表示不管正數還是負數, 都顯示符號
空格:不足位以空格填充
0: 不足位以0填充
字符串方法:
1.find
在一個較長的字符串中尋找子串, 返回字串所在位置的最左端索引, 未找到則返回-1: string1.find(string2)
2.join
可用特定字符連接字符串列表, 返回字符串, 是split方法的逆運用.
>>> lst = ['1', '2', '3'] # 不能是[1, 2, 3]
>>> lst.join('+')
'1+2+3'
3.lower(upper)
將字符串中的所有大寫(小寫)字母轉換為小寫(大寫)字母: string.lower() string.upper()
4.replace
將字符串中所有的匹配串替換:
>>> 'This is a test'.replace('is', 'xxx')
'Thxxx xxx a test'
5.split
分割字符串, 是join的逆運用:
>>> '/usr/bin/python'.split('/')
[' ', 'usr', 'bin', 'python']
6.strip
去除字符串倆側的空格或制表符(不包括中間的):
>>> ' ? ? ? ? ? Hello world! ? ? ? ? ?'.strip()
'Hello world!'
7.tanslate
與replace類似, 可以替換字符串中的某些部分, 不同的是, translate只處理單個字符
8.maketrans
接受倆個參數: 倆個等長的字符串, 表示將第一個字符串中的每個字符都用第二個字符串中相同位置的字符替換.
>>> from string import maketrans
>>> table = maketrans('cs', 'kz')
>>> 'this is an incredible test'.translate(table)
>>> 'thiz iz inkredible tezt'
tanslate的第二個參數是可選的, 原來指定需要刪除的字符:
>>> 'this is an incredible test'.translate(table, ' ')
>>> 'thizizinkredibletezt'
總結
以上是生活随笔為你收集整理的python实验二序列_python 学习笔记 二 序列, 列表, 元组, 字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中不具备np_Python中
- 下一篇: python数据匹配_python 匹配