close
文章出處

Python第三天 序列  數據類型  數值  字符串  列表  元組  字典

 

目錄

Pycharm使用技巧(轉載)

Python第一天 安裝 shell 文件

Python第二天 變量 運算符與表達式 input()與raw_input()區別 字符編碼

Python第三天 序列 數據類型 數值 字符串 列表 元組 字典

Python第四天 流程控制 ifelse條件判斷 forwhile循環

Python第五天 文件訪問 for循環訪問文件 while循環訪問文件 字符串的startswith函數和split函數

Python第六天 類型轉換

Python第七天 函數 函數參數 函數變量 函數返回值 多類型傳值 冗余參數 函數遞歸調用 匿名函數 內置函數 列表表達式/列表重寫

Python第八天 模塊 包 全局變量和內置變量__name__ Python path

Python第九天 面向對象 類定義 類的屬性 類的方法 內部類 垃圾回收機制 類的繼承

Python第十天 print >> f,和fd.write()的區別 stdout的buffer 標準輸入 標準輸出 標準錯誤 重定向

Python第十一天 異常處理 glob模塊和shlex模塊 打開外部程序和subprocess模塊 subprocess類 Pipe管道 operator模塊 sorted函數 生成器 walk模塊 hashlib模塊

Python第十二天   收集主機信息   正則表達式   正則表達式  無名分組   有名分組

Python第十三天   django 1.6   導入模板   定義數據模型   訪問數據庫   GET和POST方法    SimpleCMDB項目   urllib模塊   urllib2模塊  httplib模塊  django和web服務器整合  wsgi模塊   gunicorn模塊

Python第十四天 序列化  pickle模塊  cPickle模塊  JSON模塊  API的兩種格式

 

 

 

 

數據類型
數值
字符串
列表
元組
字典

 

 


序列
序列:字符串、列表、元組
序列的兩個主要特點是索引操作符切片操作符
- 索引操作符讓我們可以從序列中抓取一個特定項目
- 切片操作符讓我們能夠獲取序列的一個切片,即一部分序列


序列的基本操作
1. len(): 求序列的長度
2. +: 連接2個序列
3. *: 重復序列元素
4. in: 判斷元素是否在序列中
5. max(): 返回最大值
6. min(): 返回最小值
7. cmp(x, y):比較兩個序列是否相等 返回值大于0 ,等于0,小于0
cmp:按照字符串比較,字符串比較的原則就是一個字符一個字符的比較,字符按照ASCII碼來比較,字符1比字符2小,所以gene1001小于gene2。

 




------------------------------------------------------------

數值類型
- 整型  2^32個數字,范圍-2,147,483,648到2147483647
- 長整型  區分普通整型,需要在整數后加L或l。2345L,0x34al
- 浮點型  0.0,12.0,-18.8,3e+7
- 復數型  - 3.14j,8.32e-36j


-------------------------------------------------------------

字符串''類型

字符串是不可變數據類型
有三種方法定義字符串類型
str = 'this is a string'
str = "this is a string"
str = '''this is a string'''  或 """this is a string"""
三重引號(docstring)除了能定義字符串還可以用作注釋
python里面單引號和雙引號沒有任何區別

\n:換行
str = "this is a \nstring"


字符串索引
字符串是序列,可以通過索引取每個字符
加號 :字符串連接符
- str = 'abcde'
- str[0] + str[1]
字符串切片
str[start:end:step]
step:為負數表示從右向左

>>> str[1:3]
'bc'
>>> str[:3]
'abc'
>>> str[3:]
'de'
>>> str[::1]
'abcde'
>>> str[::2]
'ace'
>>> str[-1]
'e'
>>> str[-4:-1]
'bcd'
>>> str[-2:-4:-1]
'dc'


---------------------------------------------------

元組()類型
元組和列表十分相似
元組和字符串一樣是不可變的,不可變的意思是元組里面的元素不能修改,比如a[-1] = xx 會報錯
- 元組可以存儲一系列的值
- 元組通常用在用戶定義的函數能夠安全地采用一組值的時候,即被使用的元組的值不會改變。

創建元組
t= ()
t= (2,) 一定要加逗號才是元組,否則會當普通字符串對待
t = ('james', 'M')
t = ('james', 'M',(1,)) 元組里面包含元組
j = 'sd'
t = (j, 'M') 包含變量

print t
('sd', 'M')

print t[0] 返回第一個元素

 

元組操作
- 元組和字符串一樣屬于序列類型,可以通過索引和切片操作
- 元組值不可變
元組的拆分
t = (1,2,3)
a, b, c = t
a
1
b
2
c
3

 

---------------------------------------------------


列表[]類型

列表(list)是處理一組有序項目的數據結構,即可以在列表中存儲一個序列的項目。
列表是可變類型的數據類型
創建列表
list1 = []
list2 = list()   list()函數
list3 = ['a',1,2]
list4 = ['a',1,(1,),['sdf','sww]]

對某項目賦值,下標從0開始
list3[0] = 'b'

列表操作
- 取值
切片和索引

切片
l = list(range(10))
l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
l[5:0:-1]  輸出:[5, 4, 3, 2, 1]
l[5:4:-1]  輸出:[5]
l[:3:-1]   輸出:[9, 8, 7, 6, 5, 4]
l[0:3:-1]  輸出:[]
l[9::-1]   輸出:[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
l[-2:]( l[-2:10:1])     輸出:[8, 9]
l[2:]( l[2:10:1])   輸出:[2, 3, 4, 5, 6, 7, 8, 9]
l[:-2]( l[0:-2:1])       輸出:[0, 1, 2, 3, 4, 5, 6, 7]
l[0]     輸出:0

l[列表最小值:列表最大值:步進]
輸出不包含列表最大值
列表最小值下標從0開始
-1:9
-2:8

- 添加
list.append()
list1[2].append('abc')  如果列表里面又有列表使用下標來訪問
- 刪除
del list[x] 刪除某個元素  del list 刪除整個列表
list.remove(列表里面實際的值)
- 修改
list[] = x
- 查找
var in list
- 插入
list.insert(list[x],object)  在下標前插入一個對象
- 排序
list.sort()
- 反轉
list.reverse()
- 彈出
list.pop([index])  返回一個元素并刪除這個元素,參數是下標,沒有參數會刪除最后一個元素
- 擴展
list.extend()  可迭代的,相比append()方法可以追加多個值


---------------------------------------------------------

 


字典{}類型


字典是python中的唯一的映射類型(哈希表)
字典對象是可變的,但是字典的鍵必須使用不可變對象,一個字典中可以使用不同類型的鍵值。
跟redis的set類型一樣,字典里的key不能重復,賦值的時候如果發現已有key則替換
字典的方法:
- keys() 返回所有key
- values() 返回所有value
- items() 返回一個列表,key和value在一個元組里


創建字典
dic = {}
dic = dict()

dict()函數
help(dict)
dict((['a',1],['b',2]))
dict(a=1, b=2)

bb=dict(a=1, b=2)

bb
{'a': 1, 'b': 2}

 

fromkeys()函數
fromkeys(S[,v]) S指定一個序列,v指定value的值,默認為None。
dic.fromkeys(range(3),100)
In [4]: dic.fromkeys(range(3),100)
Out[4]: {0: 100, 1: 100, 2: 100}
fromkeys函數創建的字段需要賦值到另一個字典才能保存
ddict = {}.fromkeys(('x','y'), 100)

 

訪問字典
直接使用key訪問:key不存在會報錯,可以使用has_key()或者in和not in判斷。
循環遍歷:
例:
for i in dic.keys():
for i in dic:
print i 讀取的是key
print dict1[i] 讀取的是value

for i, o in dic.items():
print i, o

 

#!/usr/bin/python

info = {}  創建一個空字典
name = raw_input("Please input name: ")
age = raw_input("Please input age: ")
gender = raw_input('Please input (M/F): ')
info['name'] = name
info['age'] = age
info['gender'] = gender
for k, v in info.items():
print "%s: %s" % (k, v)
print 'main end'

 

 

 

 

 

 

 

 

 

 




文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 AutoPoster 的頭像
    AutoPoster

    互聯網 - 大數據

    AutoPoster 發表在 痞客邦 留言(0) 人氣()