初始python(二)
1. 列表list
1.1 切片
# 定義一個(gè)list。
list = [1, 2, 3, 4, 5]
從左往右讀取字符(默認(rèn)步長為 1 )。如:
list[-2:-1]??# 返回一個(gè)list數(shù)據(jù)類型,[4]
list[2]???# 返回一個(gè)int數(shù)據(jù)類型, 3
從右往左讀取字符串(默認(rèn)步長為 1 )。如:
list[-1:-2]??# 返回一個(gè)空list, []
list[-1:-2:-1]?# 步長為 -1 ,[5]
1.2 內(nèi)置list方法
如:a = "123"
list(a)
# 返回的是一個(gè)列表,參數(shù)可迭代對(duì)象。里面輸出的內(nèi)容保持傳入的可迭代對(duì)象的元素和順序。如果參數(shù)為空,則返回一個(gè)空列表。
1.3? xrange 和 range 的具體區(qū)別
1.3.1 xrange 的用法(僅在python2中使用):
xrange(開始, 結(jié)束, 步長)
xrange 它生成一個(gè)xrange對(duì)象。
1.3.2 比較
range:直接生成一個(gè)列表對(duì)象。?#(在python3中,range是生成一個(gè)range對(duì)象,支持切片)
xrange:生成一個(gè)xrange對(duì)象。操作數(shù)據(jù)大,每一次只返回單個(gè)元素,節(jié)省內(nèi)存。?
1.3.3 列表推導(dǎo)式的應(yīng)用
1) 取出1-10的所有值的平方。
[x*x for x in range(10)]??# 結(jié)果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
2) 生成字符串。
['num %s' % i for i in range(10)]
# 結(jié)果:['num 0', 'num 1', 'num 2', 'num 3', 'num 4', 'num 5', 'num 6', 'num 7', 'num 8', 'num 9']
3)生成元組。
[(x,y) for x in range(2) for y in range(2)]??
# 雙重迭代列表,在以元組的形式(x,y)組合,生成一個(gè)列表,結(jié)果是:[(0, 0), (0, 1), (1, 0), (1, 1)]
4)生成字典。
dict([(x,y) for x in range(4) for y in range(3)])?
# 第一個(gè)列表的迭代作為字典的鍵,第二個(gè)列表的迭代作為字典的值。結(jié)果為:
{0: 2, 1: 2, 2: 2, 3: 2}
3. 集合set
集合沒有順序,故不能用切片和索引操作。
3.1 創(chuàng)建集合。
set() :可變的
frozenset():不可變的(不能執(zhí)行添加,刪除等操作)
3.2 添加操作。如:
a = set("asd")??# 結(jié)果:{'a', 'd', 's'}
add :
a.add("panisme") ?#按原始字符串傳入。結(jié)果:{'panisme', 's', 'd', 'a'}
update :
a.update("panisme") #將字符串分割傳入。
#結(jié)果:{'m', 'e', 'p', 'panisme', 's', 'n', 'boy', 'i', 'd', 'a'}
3.3 刪除
remove :
a.remove("panisme")??# 結(jié)果:{'m', 'e', 'p', 's', 'n', 'boy', 'i', 'd', 'a'}
3.4 判斷成員關(guān)系
in :"a" in a ?# 判斷字符"a" 是否在集合 a 里面,返回bool值。
not in
3.5 交集, 并集, 差集
交集 :&
并集 :|
差集 :-
3.6 set去重
去除列表內(nèi)容元素重復(fù),如:
b = [1,23,4,5,2,2,1,2]
set(b) ?# 用集合去重,返回結(jié)果:{1, 2, 4, 5, 23}
list(set(b)) ?# 達(dá)到列表去重目的,得到列表:[1, 2, 4, 5, 23]
4. 字典
字典是無序的,它不能通過偏移來存取,只能通過鍵來存取。
組成字典的鍵必須是不可變的數(shù)據(jù)類型,比如數(shù)字,字符串,元組等。
4.1 創(chuàng)建字典
方法一:
{} ,如 a = {'name':'xiaoming', 'age':18}
方法二:
dict() , a = dict(name = 'xiaoming', age = 18)
4.2 添加內(nèi)容
a['country'] = 'china'
4.3 修改內(nèi)容
方法一:
a['name'] = 'xiaohong'
方法二:update 參數(shù)是一個(gè)字典的類型,會(huì)替換相同鍵的值。
a.update({'name':'xiaolan', 'age':22})
4.4 刪除 del, clear, pop
del a['name'] ?# 刪除某個(gè)鍵以及對(duì)應(yīng)的值。
a.clear() ?# 刪除字典的全部元素。
a.pop('age')?# 刪除某個(gè)鍵以及對(duì)應(yīng)的值。
4.5 keys() : 返回的是列表,里面包含的是字典的所有鍵。
4.6 values() : 返回的是列表,里面包含的是字典的所有值。
4.7 items :生成一個(gè)字典的容器?[()]
4.8 get : 通過特定的鍵名來查找對(duì)應(yīng)的值。
a.get('22', 'abc') ?
# 如果沒有找到鍵('22')所對(duì)應(yīng)的值,可以在后面指定返回值('abc')
?
?
?...
轉(zhuǎn)載于:https://www.cnblogs.com/panisme/p/8018669.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的初始python(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 团队项目1
- 下一篇: 获取String类型汉字乱码,如何进行编