python_004days
Posted 别人想到的,你要做到。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python_004days相关的知识,希望对你有一定的参考价值。
2018-07-05
list,tuple的操作
# =========================================================== #>列表 # li = ["wang","jian","wei"] # print(li) # 结果:[‘wang‘, ‘jian‘, ‘wei‘] # print(type(li)) # 结果:<class ‘list‘> # 列表是随着你的操作而改变的,不是像字符串一样 # ------------------------------------------------- # <增> # append 在末尾追加 # li = ["wang","jian","wei"] # li.append("superman") # print(li) # 结果:[‘wang‘, ‘jian‘, ‘wei‘, ‘superman‘] # insert 插入:根据输入的索引插入相应的值 # li = ["wang","jian","wei"] # li.insert(1,"张三") # print(li) # 结果:[‘wang‘, ‘张三‘, ‘jian‘, ‘wei‘] # -------------------------------------------------------- # <删> # pop 删除,默认删除最后一个,可以指定删除的索引值 # li = ["wang","jian","wei"] # li.pop() # print(li) # 结果:[‘wang‘, ‘jian‘] # li.pop(2) # print(li) # 结果:[‘wang‘, ‘jian‘] ###将索引值为2的值删除 # remove 通过输入字符串直接删除 # li = ["wang","jian","wei"] # li.remove("jian") # print(li) # 结果:[‘wang‘, ‘wei‘] # del 通过索引删除对应的值 # li = ["wang","jian","wei"] # del li[0] # print(li) # 结果:[‘jian‘, ‘wei‘] # ----------------------------------------------------------- #<改> # 可以通过索引直接将对应的值修改为等号右边的值 # li = ["wang","jian","wei"] # li[0]="123" # print(li) # 结果:[‘123‘, ‘jian‘, ‘wei‘] # 指定的索引位置插入指定的值 # li = ["wang","jian","wei"] # li.insert(1,"王剑威") # print(li) # 结果:[‘wang‘, ‘王剑威‘, ‘jian‘, ‘wei‘] # ----------------------------------------------------------------- #<查> # 列表是可迭代的,所以支持for循环,通过for循环可以遍历出列表的每一个值 # li = [1,2,3,4,5,6,7] # for n in li: # print(n) # 结果: 1 # 2 # 3 # 4 # 5 # 6 # 7 # 索引区间取值 # li = [1,2,3,4,5,6,7] # print(li[1:3]) # 结果:[2, 3] # 通过索引倒着取值,从-1到最后,都是负的,倒着取值需要些不长为-1.否则取得值为空 # li = [1,2,3,4,5,6,7] # print(li[-1::-1]) # 结果:[7, 6, 5, 4, 3, 2, 1] # ----------------------------------------------------------------------------------- #<列表的嵌套> # li = ["亚瑟","李白","韩跳跳",["王昭君",["夏侯惇",["周杰伦","安其拉"]]],["牛魔王"]] # print(li) # 结果:[‘亚瑟‘, ‘李白‘, ‘韩跳跳‘, [‘王昭君‘, [‘夏侯惇‘, [‘周杰伦‘, ‘安其拉‘]]]] # 嵌套的列表的for循环 # for n in li: # print(n) # 结果:亚瑟 # 李白 # 韩跳跳 # [‘王昭君‘, [‘夏侯惇‘, [‘周杰伦‘, ‘安其拉‘]]] # [‘牛魔王‘] # 请输出周杰伦 # print(li[3][1][1][0]) # 结果:周杰伦 # =========================================================== # >元组:元组 元组和list差不多,俗称不可变的列表,又被称为只读列表,所以不支持增删改,只支持查(有些情况下是可以改的) # 元组的格式 # 变量名 = (元素1,元素2,....) # 注意以下情况,当元组中只有一个元素时,元组中的内容会被当做字符串处理,数字是也一样 # tu = ("wang") # print(type(tu)) # <class ‘str‘> # tu1 = (123) # print(type(tu1)) # <class ‘int‘> # 所以当元组中只有一个元素时,需要在这唯一的一个元素后面加一个逗号作为分隔 # tu = ("wang",) # print(type(tu)) # <class ‘tuple‘> #-------------------------------------------------------------------------------------------------------- #<查> # tu = ("张",True,123,"QQ","Google") # 查找元素的索引值,还可以添加起始,终止位置.和列表字符串的使用一样 # print(tu.index("张")) # 结果:0 # print(tu.index(True)) # 结果:1 # 通过索引值输出元素 # print(tu[1]) # 结果:True # 通过切片输出元素,和列表字符串的使用方法一致 # print(tu[0:2]) # 结果:(‘张‘, True) # print(tu[-1::-1]) # 结果:(‘Google‘, ‘QQ‘, 123, True, ‘张‘) ###被切片后的数据依旧还是元组类型的数据 # ------------------------------------------------------------------------------------------- ### 特殊情况一 ### ### 可修改的元组,当元组嵌套列表时,本身元组是不可变的, ### ### 但是仔细想,不可变的是元组,我要是修改的是列表,我只要保证我的列表在元组的位置不变,是否可以. ### # p1 = ("马云","马化腾",["刘强东","QQ"]) # p1[2][1] = "Google" # print(p1) # 结果:(‘马云‘, ‘马化腾‘, [‘刘强东‘, ‘Google‘]) 将元组中的列表中的QQ变成了Google # p1[2].append("SKY") # print(p1) # 结果:(‘马云‘, ‘马化腾‘, [‘刘强东‘, ‘Google‘, ‘SKY‘]) 向元组中的列表追加SKY ### 关于不可变, 注意: 这里元组的不可变的意思是子元素不可变. 而子元素内部的子元素是可 ### 以变, 这取决于子元素是否是可变对象. # =========================================================== #元组同样支持for循环 #tu = ("one","two",3,"四",[5,"6","7"],("8",9)) #for n in tu: # print(n) # 结果: one # two # 3 # 四 # [5, ‘6‘, ‘7‘] # (‘8‘, 9) ###只会循环元组的子元素,不会循环子元素的内部. # count 统计 # tu = (1,2,"1","2",1,"1","2",["2"],("1")) # print(tu.count(1)) # 结果:2 # print(tu.count("2")) # 结果:2 ### 在统计元组时只会统计元组的子元素,不会统计子元素的内部 # print(len(tu)) # 结果:9 ### 每一个子元素算一个,子元素的内部不算 # index 根据元素查找索引值 # print(tu.index(["2"])) # 结果:7
以上是关于python_004days的主要内容,如果未能解决你的问题,请参考以下文章
python 爬虫004-使用urllib2与正则表达式扒取糗事百科新鲜页首页帖子