python入門——python數據類型3


1、數據類型



一、核心數據類型:


  • 數字:int, long(python3.5已經沒有), float, complex, boolpython

  • 字符:str, unicodeapp

  • 列表:listide

  • 字典:dict函數

  • 元組:tuple學習

  • 集合:set(可變集合),frozenset(不可變集合)spa

  • 文件:filecode


2、數字類型


python的數字字面量:整數,布爾型,浮點數,複數,全部數字類型均爲不可變orm

數字操做:+ , -, *, /, //, **, %, -x, +x對象


3、列表


列表是一系列按照特定順序排列的元素組成能夠是字母、數字等;排序

在python中,列表用方括號[ ],來表示列表。做爲一個方括號內的逗號分隔值出現。列表的數據項不須要具備相同的類型。


一、列表的操做方法和函數

列表操做包含如下函數:
1
cmp(list1, list2):比較兩個列表的元素
2
len(list):列表元素個數
3
max(list):返回列表元素最大值
4
min(list):返回列表元素最小值
5
list(seq):將元組轉換爲列表

列表操做包含如下方法:
1
list.append(obj):在列表末尾添加新的對象
2
list.count(obj):統計某個元素在列表中出現的次數
3
list.extend(seq):在列表末尾一次性追加另外一個序列中的多個值(用新列表擴展原來的列表)
4
list.index(obj):從列表中找出某個值第一個匹配項的索引位置
5
list.insert(index, obj):將對象插入列表
6
list.pop(obj=list[-1]):移除列表中的一個元素(默認最後一個元素),而且返回該元素的值
7
list.remove(obj):移除列表中某個值的第一個匹配項
8
list.reverse():反向列表中元素
9
list.sort([func]):對原列表進行排序

10list.append():  在列表末尾添加一個元素


二、訪問元素列表及切片


列表的訪問能夠是標準輸出,也能夠是經過索引或切片使用列表中元素的值;

與字符串的索引同樣,列表索引從0開始,若是是反序,最後一個元素是 「-1」,倒數第二個元素的列下標識 「-2」。

列表能夠進行截取、組合等。

使用下標索引來訪問列表中的值,一樣你也可使用方括號的形式截取字符。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
china = ["Chinese","yellowskin",960,16,"北京"]
#輸出列表
print(china)
 
#輸出特定值,如第二個元素,即索引爲1的;
print(china[1])
 
#輸出最後兩個元素
print(china[-2:])
 
#輸出前三個元素
print(china[:2])
 
#輸出最後兩個元素外的全部元素
print(china[:-2])
 
#輸出第二到第五的元素;
print(china[1:4])
 
#列表輸出能夠結合字符處理方法
print(china[1].title())
print(china[1].upper())
#循環訪問列表的元素:
for i in china:
    print(i)


三、修改、添加、刪除列表元素

因爲列表大多數狀況下是動態的,那麼他的元素、長度等都是不斷變化的;

修改元素經過列下標直接賦值;

添加元素能夠經過append()方法在末尾添加,能夠經過insert()方法在特定位置添加;

刪除元素能夠經過pop()方法和del語句刪除,固然你也能夠經過del 刪除整個列表;

#!/usr/bin/python
# -*- coding: UTF-8 -*-
china = ["Chinese","yellowskin",960,16,"北京"]
 
#將列表第二個元素修改成「blackeyes」
china[1] = "black eyes"
print(china)
 
#在列表末尾添加元素;
china.append("Changjian")
print(china)
 
#在第三個前插入一個元素:
china.insert(2,'Shanghai')
print(china)
 
#列表中刪除元素,del語句:
del china[-2]
print(china)
 
#pop()方法刪除任意元素:
china.pop(2)
print(china)
 
#根據值刪除元素
china.remove(960)
print(china)

輸出結果:

['Chinese', 'black eyes', 960, 16, '北京']

['Chinese', 'black eyes', 960, 16, '北京','Changjian']

['Chinese', 'black eyes', 'Shanghai', 960,16, '北京', 'Changjian']

['Chinese', 'black eyes', 'Shanghai', 960,16, 'Changjian']

['Chinese', 'black eyes', 960, 16,'Changjian']

['Chinese', 'black eyes', 16, 'Changjian']


四、對列表進行排序

對列表進行排序的方法有

sort()        對列表進行永久排序;

sorted()              對列表進行臨時排序

reverse()            倒着打印列表,永久排序,恢復時能夠再次調用reverse()

len()                     取出列表的長度;


#!/usr/bin/python
# -*-coding: UTF-8 -*-
counts =[1,3,5,7,9,2,4,6,8,10]
counts1= []
for i incounts:
counts1.append(i)
print(counts1)
print(counts)
 
counts.sort()
print(counts)
 
print(sorted(counts1))
print(counts1)
 
counts1.reverse()
print(counts1)
print(len(counts))

5、遍歷列表

5.1for循環遍歷列表和複製列表

counts =[1,3,5,7,9,2,4,6,8,10]
counts1= []
for i incounts:
counts1.append(i)
print(counts1)
print(counts)

5.2、建立數值列表

counts2 = [ j**3  for j in range(1,10)]
print(counts2)
type(counts2[2])

使用range建立數字列表

counts3 = list(range(1,21,2))

print(counts3)

type(counts3[2])

5.3、列表的簡單統計

counter = list(range(1,21,2))

min(counter)

max(counter)

sum(counter)


4、元組

  • 元組看起來猶如列表,但使用圓括號()來標識。定義元組後,就可使用索引來訪問其元素;

  • 元組的遍歷和列表同樣可使用for循環等;

  • 元組是不能修改其元素的,但能夠給存儲元組的變量賦值;

  • 括號()既能夠表示元組,又能夠表示數學公式中的小括號。因此,若是元組只有1個元素,就必須加一個逗號,防止被看成括號運算;

  • 元組與列表的區別,元組它的關鍵是不可變性。

  • 若是在程序中以列表的形式傳遞一個對象的集合,它可能在任何地方改變;若是使用元組的話,則不能。

  • 元組提供了一種完整的約束。

1、字典基本操做

字典是另外一種可變容器模型,且可存儲任意類型對象。

字典的每一個鍵值(key=>value)對用冒號(:)分割,每一個對之間用逗號(,)分割,整個字典包括在花括號({}) ,格式以下所示:

d = {key1 : value1, key2 : value2 }

鍵必須是惟一的,但值則沒必要。

值能夠取任何數據類型,但鍵必須是不可變的,如字符串,數字或元組。

  • 要獲取字典中的值,可依次指定字典名和放在方括號內的鍵;如print(dict[‘key]’)

  • 要添加鍵-值對,可依次指定字典名、用方括號括起來的鍵和對應的值;

  • 使用字典存儲大量數據或者編寫能自動生成大量鍵-值得代碼時,一般須要先定義一個空字典,如:dict = {}

  • 要修改字典中的值,可依次指定字典名、用方括號括起來的鍵以及與該鍵相關的新值;

  • 要刪除鍵-值對,可以使用del語句鍵對應的鍵-值對完全刪除。使用del語句必須指定字典名和要刪除的鍵;

示例:

#coding:UTF-8
import string

#定義一個空字典dict1
dict1 = {}
#利用for循環給dict1賦值
i = 1
for word in string.ascii_lowercase:
	if i < 14:
		dict1[i] = word
	else:
		dict1[word] = i
	i += 1
print(dict1)

#訪問字典中的值
print(dict1[13])
print(dict1['o'])

#添加鍵-值對
dict1[27] = "error"
print(dict1[27])

#修改字典中的值
dict1[27] = "out of range"
print(dict1[27])

#刪除鍵值對
print(dict1['z'])
del dict1['z']
print(dict1)

2、遍歷字典

在遍歷字典前,先學習一下字典內置的函數和方法,在遍歷時,結合函數和方法遍歷輸出;

python字典的函數。

方法

解釋

len(dict)

計算字典元素個數,即鍵的總數。

str(dict)

輸出字典以可打印的字符串表示。

type(variable)

返回輸入的變量類型,若是變量是字典就返回字典類型。

dict.clear()

刪除字典內全部元素

dict.copy()

返回一個字典的淺複製

dict.fromkeys(seq  [,value])

建立一個新字典,序列seq中元素做爲字典的鍵,value(可選)做爲字典全部鍵對應的初始值。--seq爲一個列表;

dict.get(key[, default=None])

返回指定鍵的值,若是值不在字典中返回default(默認爲none)

key in dict

若是鍵在字典dict裏返回true,不然返回falsekey -- 在字典中要查找的鍵

dict.items()

以列表返回可遍歷的(, 值列表。

dict.keys()

以列表返回字典中的全部值。

dict.setdefault(key, default=None)

get()相似, 但若是鍵不存在於字典中,將會添加鍵並將鍵值設爲default

dict.update(dict1)

把字典dict1的鍵/值對更新到dict裏。無返回值。

pop(key[,default])

刪除字典給定鍵 key 所對應的值,返回值爲被刪除的值。key值必須給出。不然,返回default

         popitem()

隨機返回並刪除字典中的一對鍵和值。

#coding:UTF-8
import string

#定義一個空字典dict1
dict1 = {}
#利用for循環給dict1賦值
i = 1
for word in string.ascii_lowercase:
	if i < 14:
		dict1[str(i)] = word
	elif i > 14:
		dict1[word] = str(i)
	i += 1
print(dict1)

#遍歷全部的鍵-值對
for key,value in dict1.items():
	print(key)
	print(value)
	print(dict1['1'].upper())
	
#遍歷字典中全部的鍵
for key in dict1.keys():
	print(key)
	
#按照順序遍歷字典中全部的鍵,能夠用sorded()來實現
for key in sorted(dict1.keys()):
	print(key.upper() + "大爺的")


#遍歷字典中多有的值,並使用set()方法去重;
dict1['27'] = 'a'
print(dict1['27'])
for value in set(dict1.values()):
	print(value)
	
print(dict1)

#字典的淺複製
dict2 =dict1.copy()
print(dict2)

#更新字典
dict3 = {}
dict3.update(dict1)
print(dict3)


#刪除字典內全部的元素
dict1.clear()
print(dict1)

3、嵌套

字典除了單獨使用外,常常會涉及到嵌套使用;列表、字典、元組等能夠相互嵌套使用;

使用的方法和對應的列表、字典、元組的使用方法相似,很少作說明;

相關文章
相關標籤/搜索