list
# 列表中可以放任何内容 # li = [1,2,3,"abc","de",True, False, (1,5,8), ["游戏", '电影']] # 列表有切片 # li = ["吃鸡", "勇士", "DNF", "洛奇", "虐杀原形", "连连看"] # v1 = li[5] # print(v1) # v2 = li[-5] # 可以倒数 # print(v2) # v3 = li[:1] # 固投不顾尾 , 结果还是列表 # print(v3) # v4 = li[-3: -1] # print(v4) # v5 = li[5:1:-2] # print(v5) # 1. 列表的添加 # append() 在屁股结尾添加, 追加 # li = ["alex", "wusir", "太白"] # li.append("eggon") # li.append("毅哥") # print(li) # insert 插入 # li = ["LOL", "扫雷", "贪吃蛇"] # li.insert(1, "超级玛丽") # print(li) # li.insert(5, "极品飞车") # li.insert(4, "哈哈") # print(li) # extend 把一个可迭代对象打开.每一项拿出来追加到list中 # li = ["范冰冰", "刘德华", "强强哥"] # # li.extend("李小璐") # 放进去字符串. 迭代字符串. 把字符串中的每一项拿出来添加到列表 # # li.extend(["麻花藤", "马云", "太白金星"]) # # 列表是可迭代对象 # # 字符串转换成列表 可以extend() # print(li) # 2. 删除 # pop, remove, clear, del # pop. 向外弹, 弹出最后一个或者指定位置的内容 # li = ["你", "我", "盖伦"] # li.pop() # print(li) # li.pop() # print(li) # li.pop(0) # print(li) # ret = li.pop() # 返回给你, 被删除的内容 # print(ret) # print(li) # 指定元素进行删除 # li = ["提莫", "盖伦", "大白梨"] # ret = li.remove("大白梨") # print(ret) # ??? None 什么都不返回 # print(li) # clear 清空列表 # li = [1,2,5,7,4] # li.clear() # # print(li) # del 切片删除 # li = ["大白梨", "提莫", "盖伦"] # # print(li[1:]) # # del是一个关键字 # del li[1:] # print(li) # 3. 修改 # li = ["windows", "Ubuntu", "CenOS", "Red Hat"] # li[1] = "MacOS" # print(li) # s = "你好啊" # s[1] = "坏" # 'str' object does not support item assignment # print(s) # 切片修改 # li = ["windows", "Ubuntu", "CenOS", "Red Hat"] # # li[0:2] = ["周杰伦","周润发","麻花藤"] # 可迭代对象 # # print(li) # # print(li[0:3:2]) # li[3:1:-1] = ["麻花藤"] # 如果你的步长不是1, 元素个数必须要匹配 # print(li) # 4. for循环查询 # li = ["鸡腿饭", "疙瘩汤", "北京烤鸭", "宫保鸡丁"] # # element 元素 # for el in li: # print(el) # 常见操作 # li = ["人参果", "唐僧肉", "榴莲", "苹果", "唐僧肉"] # ret = li.count("唐僧肉") # 计数 # print(ret) # # print(len(li)) # 长度 # sort() 排序 # li = [1,6, 9, 18, 27, 3, 4] # # li.sort() # 升序. 从小到大. # li.sort(reverse=True) # 降序. # print(li) # li = ["1", "5","112","11","111","21"] # 字符串 # li.sort() # print(li) # 中文尽量不要排序. 没有意义 # li = ["彭于晏", "林志玲", "渣渣辉", "古天乐"] # li.sort() # print(li) # li = ["西瓜太郎", "冬瓜太郎", "机器猫", "黑猫警长"] # li.reverse() # 翻转 # print(li)
列表的嵌套
# 列表中放列表就是嵌套 # li = [1, 5, True, "哈哈", ["张无忌", "wusir", "周芷若", "赵敏"], ["金庸", "琼瑶", "古龙", "孙晓"]] # # 将wusir拿到. 然后首字母大写. 再扔回去 # # 找到wusir, 变成大写. # # li[4][1] = li[4][1].capitalize() # print(li) # print(li[2]) # True # print(li[4]) # 列表 # print(li[4][2]) # 列表中的列表 # print(li[4][2][1]) # 敏 # li[5].append("唐家三少") # 追加 # print(li)
元组
# tu = ("哈哈", )# 如果只有一个元素. 必须加一个逗号 # print(type(tu)) # tu = ("倚天屠龙", "报道至尊", "太极张三丰", "武当山") # print(tu[2]) # 索引可以用 # print(tu[:2]) # "倚天屠龙", "报道至尊" 切到的是元组, # 循环遍历 # for el in tu: # print(el) # tu[2] = "少林寺驻武当山拜师处" # 'tuple' object does not support item assignment # print(tu) tu = ("小说", "文集", "历史", ["麻花藤", "张三丰", "李嘉诚"], (1, 3)) # tu[2] = "哈哈" tu[3].append("王健林") # tuple儿子不可变. 孙子可以变 tu[3] = ["新列表"] # 改的是儿子. 报错 print(tu)
range
# for i in range(10): # 从0 生成到9 # print(i) # range(start, end) # 切片 # for i in range(1, 5): # print(i) # for i in range(2, 100, 2): # 步长 # print(i) # 输出所有偶数 # index = 1 # while index < 100: # if index%2 == 0: # print(index) # index = index + 1
总结:
s代表列表名 #列表的添加 s.append("超级玛丽") 在屁股结尾添加 s.insert(1,"超级玛丽") 按索引插入 s.extend("李小璐") 把一个可迭代对象打开.每一项拿出来添加到list中 #列表的删除 s.pop(0) 向外弹,弹出最后一个或者指定索引0的内容 (此方法有返回值,为删除的内容) s.remove("123") 指定元素 123 删除 s.clear() 清空列表 del s[0:1] 切片删除s[0:1] 也可以直接 del s 直接删除s列表 #列表的修改 s[1]=["123"] 把列表s第一个值修改为123 (只有列表可以修改,字符串是不可变量,只能重新赋值 如s="123") #列表的切片修改 # s = ["windows", "Ubuntu", "CenOS", "Red Hat"] s[0:2] = ["周杰伦","周润发","麻花藤"] # 可迭代对象 print(s) print(s[0:3:2]) s[3:1:-1] = ["麻花藤"] # 如果你的步长不是1, 元素个数必须要匹配 print(s) #列表的for循环查询 for i in s: print(s) #列表的常见操作 s.count("123") 计算123出现的次数(此方法包含return) len(s) 计算列表长度 #列表的排序 s.sort() 升序,从小到大 (reverse默认是False) #字符串排序是按照位数而不是大小,中文排序不是拼音也不是笔画,特殊条件,没有意义 s.sort(reverse=True) 降序,从大到小 s.reverse 翻转