標籤:包含 value 範圍 排序 new span nbsp 類型 ora
python單一資料型別
- list
list的建立,使用[]
a_list = [‘a‘, ‘b‘, ‘c‘]
print a_list
print a_list[0] #a
如果去list的最後一個元素,除了計算索引位置外,還可用-1
print a_list[-1] #c
依次類推,可以擷取倒數第2個、倒數第3個
print a_list[-2] #b
print a_list[-3] #a
list元素的增加
a_list.append(‘d‘) #增加到末尾
a_list.insert(1, ‘e‘) #增加到指定位置
a_list.extend([‘f‘, ‘g‘, ‘h‘) #將兩個個對象的元素加到該list的末尾
a_list*3 #使用乘法擴充list
list元素的刪除
del a_list[1] #刪除指定元素
del a_list #刪除整個list
a_list.pop() #刪除最後一個元素。要刪除指定索引位置元素,pop(i)
a_list.remove(‘a‘) #刪除首次出現的指定元素
list元素的替換
a_list[1] = ‘z‘ #直接賦值給對應索引位置
list元素的資料類型可以不一樣
a_list = [‘apple‘, ‘123‘, True] #True和False首字母要大寫
list元素也可以是另一個list
a_list = [‘apple‘, ‘orange‘, [‘python‘, 123], 321]
print len(a_list) #4
list元素訪問和計數
直接使用索引位置訪問
a_list[1]
獲得指定元素首次出現的索引位置
a_list.index(‘a‘)
獲得指定元素在list中出現的次數
a_list.count(‘a‘)
適用於元祖、字串和range
range(10).count(3) #1
(2,2,2,4).count(2) #3
(‘a‘, ‘b‘, ‘c‘, ‘a‘).count(‘a‘) #2
判定指定元素是否在list中
‘a‘ in a_list
切片操作
x = range(10,100)
x[::] #全取
x[::-1] #倒著全取
x[::2] #從頭每兩個取一個
x[::-2] #倒著每兩個取一個
x[1::2] #從位置1每兩個取一個
x[3:6] #取指定範圍
x[:10 :2] #前10個中每兩個取一個
list排序
a_list = [1,2,3,4,5,6]
import random
random.shuffle(a_list) #打亂順序
a_list.sort() #預設升序
a_list.sort(reverse = True) #降序排序
還可以用sorted()排序,與sort()直接對list修改不同,sorted()返回新列表,不對原列表進行操作
b = sorted(a_list)
將list元素逆序
a_list.reverse()
還可以用reversed()排序,與reverse()直接對list修改不同,reversed()返回新列表,不對原列表進行操作
Newa = reversed(a)
- tuple
tuple和list非常類似,但是tuple一旦初始化就不能修改,他沒有append(),insert()這樣的方法。擷取元素的方法和list一樣,但不能賦值成另外的元素
建立tuple用()
a_tuple = (‘a‘, ‘b‘, ‘c‘)
如果建立只包含一個元素的元祖,要在後面加上逗號,
b_tuple = (‘a‘,)
使用tuple()函數將其他類型序列轉換為元祖
a = tuple(‘abcdefg‘)
alist = [1,2,3,4,‘a‘]
tuple(alist)
- dict
字典是"鍵-值對"的無序可變序列,字典中的每個元素包含兩個部分:"鍵"和"值",使用大括弧{}。
字典的建立
d = {‘Michael‘:95, ‘Bob‘:75,‘Tracy‘:85}
print d[‘Michael‘] #95
判斷key是否存在
print ‘Bob‘ in d #True
print ‘bob‘ in d #False
dict的讀取
d[‘Michael‘] #95
還可以通過get的方法,如果key不存在,返回none或自己指定的value
d.get(‘Michael‘) #95
d.get(‘Mi‘, -1) #-1
dict的items()可以返回字典的"key-value"列表
for item in d.items():
print(item)
for key in d:
print(key)
for key, value in d.items():
print(key, value)
dict元素的增加
當以key為下標時,若鍵存在,則修改value,若不存在,則加一堆key-value
d[‘Michael‘] = 96 #將Michael的值從95修改為96
d[‘Jack‘] = 80 #增加一對key-value
dict刪除
要刪除一對索引值,用pop(key)
d.pop(‘Michael‘)
- set
set的每個元素都是唯一的,使用大括弧{}
set的建立
a ={1,2}
print a #set([1,2])
建立set也可以用set()函數將列表、元祖轉換為set,如果原來的資料中存在重複元素,在轉換時只保留一個
a_set =set(range(8,14))
print a_set
set的增加
a.add(3)
print a #set([1,2,3])
set的運算
s1 = set([1,2,3])
s2 = set([2,3,4])
print s1&s2 #交集
print s1|s2 #並集
python學習2—python單一資料型別