Python第三天 序列 數據類型 數值 字符串 列表 元組 字典
目錄
Python第二天 變量 運算符與表達式 input()與raw_input()區別 字符編碼
Python第三天 序列 數據類型 數值 字符串 列表 元組 字典
Python第四天 流程控制 ifelse條件判斷 forwhile循環
Python第五天 文件訪問 for循環訪問文件 while循環訪問文件 字符串的startswith函數和split函數
Python第七天 函數 函數參數 函數變量 函數返回值 多類型傳值 冗余參數 函數遞歸調用 匿名函數 內置函數 列表表達式/列表重寫
Python第八天 模塊 包 全局變量和內置變量__name__ Python path
Python第九天 面向對象 類定義 類的屬性 類的方法 內部類 垃圾回收機制 類的繼承
Python第十天 print >> f,和fd.write()的區別 stdout的buffer 標準輸入 標準輸出 標準錯誤 重定向
Python第十二天 收集主機信息 正則表達式 正則表達式 無名分組 有名分組
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 |