name = "alex" li = [1, 3, 4, 5, "abc", ["c", "d"]] # 列表中的元素可以是数字或者字符串,列表,布尔值等所有的东西都可以放进去. # 列表里面可以嵌套列表(无限嵌套), 整体6个元素 print(li[5]) # 索引 print(li[2:4]) # 切片的结果也是列表 print(li[2:-1]) # 切片操作和字符串操作类似 # for while for item in li: print(item) # list元素可以被修改,类似于C的链表 li[2] = 120 print(li) li[2] = [11, 2, 3, 4] # 通过索引进行修改 print(li) li[1:3] = [120, 90] # 通过切片进行修改 print(li) # 删除 del li[2] # 索引 print(li) del li[1:3] # 切片 print(li) # in not in v = 12 in li print(v) li = [1, 3, 4, 5, "abc", ["c", "d", [19, 20]], "efg"] print(li[5][2][0]) # 字符串可以循环,list可以循环(内部使用for 循环) 所以,字符串可以转list, 数字不可以转list # 字符串转list s = "sdfkjlksjdfl" li = list(s) print(li) # ['s', 'd', 'f', 'k', 'j', 'l', 'k', 's', 'j', 'd', 'f', 'l'] # list转字符串 li = [11, 22, 33, "123", "abc"] r = str(li) print(r) # [11, 22, 33, '123', 'abc'], 不可行. # 若列表里面有字符串 or 数字.只能写for循环进行拼接. s = "" for i in li: s = s + str(i) print(s) # 若列表里面只有字符串.可以使用join li = ["123", "abc"] v = "".join(li) print(v)
list的魔法
# list具有的魔法都在list类定义中. # 追加 li = [22, 33, 44, 55] li.append(66) li.append("alex") # clear 情况 #li.clear() #print(li) # copy 拷贝 浅拷贝 v = li.copy() print(v) # count 计数,计算元素出现的次数. print(li.count(22)) # extend 扩展 iter 可迭代对象 # 追加到列表后面 li.extend([9, 9, 8, 8]) # 注意和append的区别. # [22, 33, 44, 55, 66, 'alex', 9, 9, 8, 8] print(li) li.extend("不得了") print(li) # [22, 33, 44, 55, 66, 'alex', 9, 9, 8, 8, '不', '得', '了'] li = [11, 22, 33, 44, 55, 22] print(li.index(22)) # 从前往后找,只找到第一个 print(li.index(22, 2, 6)) li.insert(0, 99) # 在指定索引位置插入元素 print(li) v = li.pop() print(v) # pop默认删除最后一个值并获取删除的值. v = li.pop(1) print(v) # 还可以指定index索引. print(li) li.remove(22) #删除列表中的指定值, 左侧优先 print(li) # ps: pop remove del li[0] del li[5:7] clear li.reverse() print(li) # 将当前列表进行翻转 li = [11, 22, 33, 44, 55, 22] li.sort() print(li) # 排序,从小到大 li.sort(reverse=True) print(li) # 排序,从大到小