python -- 基本数据类型/list列表的操作/元组/range

主要内容
1. list(增删改查)

  列表可以装大量的数据.    不限制数据类型.

  表示方式:  [] 方括号中的每一项用逗号隔开

2.列表和字符串一样.    也有索引和切片,索引也是从0开始

3.切片

  lst[0:3]      #截取从索引0-3的元素,但是只截取到索引为2的数据

  lst[ :3]       #从头取到第2个元素(索引为3)

  lst[1: : 2]   #从索引为1开始取到最后一个,步长为2,表示每2个取一个,也就是隔一个取一个

  lst[2: : -1]  # 从索引为2开始取,取到最后,步长-1,表示从右向左倒着取.,每一个取一个

4.功能:

  1). 增:

  append()   末尾添加

  insert(索引,添加内容)     指定索引位置添加

  extend()    迭代添加,元素一个个添加

#append  默认添加到列表末尾
lst = ["周杰伦", "王力宏", "周润发"]
lst.append("伍佰")    # 向列表中添加一个元素, 元素放在末尾. 把一个元素追加到列表的末尾
print(lst)
#insert 添加到指定位置
lst.insert(1, "马化腾")    # 把元素插入到指定位置(索引为1位置). 元素的移动
#extend 迭代添加
lst.extend(["马云", "王健林", "李嘉诚"])    # 迭代添加   结果是['周杰伦', '王力宏', '周润发', '马云', '王健林', '李嘉诚']
lst.extend("马云")     #结果是['周杰伦', '王力宏', '周润发', '马', '云']

  2.) 删:

  lst[]     空列表

  pop()    删除最后一个 

  pop(索引)   删除索引所在元素

  remove(元素)   删除指定的元素, 如果元素存在,执行删除.     如果元素不存在,程序则会报错!!

  clear()   将整个列表清空,最终列表成为一个空列表.

  del lst[起始位置:结束位置]       将原列表中1-3的元素去掉

#  pop()      删除
lst = ["盖伦", "大白梨", "提莫", "大白梨"]
e = lst.pop()   # 返回删除的元素, 默认删除最后一个
print(e)           #大白梨
print(lst)            # ['盖伦', '大白梨', '提莫']
e = lst.pop(1)   # 根据给出的索引进行删除
print(e)            #删除第一个大白梨
print(lst)          # ['盖伦', '提莫']
#remove  删除指定的元素,从左往右删第一个
lst = ["盖伦", "大白梨", "提莫", "大白梨"]
lst.remove("大白梨")   #默认删除第一个大白梨
print(lst)   #['盖伦', '提莫', '大白梨']
#remove 删除元素不存在,报错
lst = ["盖伦", "大白梨", "提莫", "大白梨"]
lst.remove("大白梨")   #默认删除第一个大白梨
print(lst)   #['盖伦', '提莫', '大白梨']
#clear  清空列表
lst = ["盖伦", "大白梨", "提莫", "大白梨"]
lst.clear()       #清空列表
print(lst)          #[]
#del  lst[start:end]
lst = ["盖伦", "大白梨", "提莫", "大白梨"]
del lst[1:]      #从索引为1的位置开始删除到末尾
print(lst)          #['盖伦']

  3). 改:

  索引修改,

  切片修改

# 索引修改
lst = ["太白", "五色", "银王", "日天"]
lst[0] = "太黑"
print(lst)      #['太黑', '五色', '银王', '日天']
lst[2] = "银角大王"
print(lst)       #['太黑', '五色', '银角大王', '日天']
# 切片修改
lst = ["太白", "五色", "银王", "日天"]
lst[1:3] = "马化腾"    # 迭代修改
print(lst)              #['太白', '马', '化', '腾', '日天']
lst[1:3] = ["周杰伦", "他媳妇", "王力宏媳妇"]
print(lst)              #['太白', '周杰伦', '他媳妇', '王力宏媳妇', '腾', '日天']

  4)查询:     for循环

# 查询   for循环
lst = ["舒克贝塔", "黑猫警长", "熊大熊二", "葫芦娃", "吴佩琪"]
for el in lst:  #  element  遍历列表元素
    print(el)
'''结果是:
舒克贝塔
黑猫警长
熊大熊二
葫芦娃
吴佩琪
'''

5.常用方法:

  1. len()   列表长度

  2. count()       元素出现次数

  3. sort()       排序

lst = ["王尼玛", "我记着你", "伟哥", "放学天台见","王尼玛", "王尼玛"]
print(len(lst))     #计算列表长度 6
print(lst.count("王尼玛"))       #计数  元素出现的次数   3
#排序
lst = [1, 9, 18, 2 , 34, 88, 7, 9]
lst.sort()  # 升序[1, 2, 7, 9, 9, 18, 34, 88]
print(lst)
lst.sort(reverse=True)  # 倒序[88, 34, 18, 9, 9, 7, 2, 1]
print(lst)

6. list的嵌套
  降维操作

lst = [1, "太白", "wusir", ["麻花疼", ["可口可乐"], "王剑林"]]
print(lst[3][1][0])       #可口可乐
lst[3][1].append("芬达")     #[1, '太白', 'wusir', ['麻花疼', ['可口可乐', '芬达'], '王剑林']]
print(lst)

lst[2] = lst[2].capitalize() #[1, '太白', 'Wusir', ['麻花疼', ['可口可乐', '芬达'], '王剑林']]
print(lst)

lst[1] = lst[1].replace("", "")     #[1, '太黑', 'Wusir', ['麻花疼', ['可口可乐', '芬达'], '王剑林']]
print(lst)

7. tuple 元组

  不可变的列表. 只读列表. 有索引和切片.
  不可变的是它内部(第一层)子元素. 如果子元素是列表. 列表中的元素是可以变的.

lit = (1, "花生", "山药")     #元组的类型
print(type(lit))     #<class 'tuple'>
tu = (1, )    # 表示元组,还需要添加一个逗号
print(type(tu))     #<class 'tuple'>
tu = ('DNF', "LOL", "CF", "斗地主", "消消乐")
print(tu[2:])         #('CF', '斗地主', '消消乐')
tu[2] = "王者荣耀"  # 尝试着修改 不能改, 会报错
#元组的遍历
tu = ('DNF', "LOL", "CF", "斗地主", "消消乐")
for el in tu:     #元组的遍历
    print(el)
'''
DNF
LOL
CF
斗地主
消消乐
'''
#元组的子元素(第一层元素)不能修改
tu = (1, "马化腾", ["胡辣汤", "疙瘩汤", "西红柿鸡蛋汤"])
tu[2].append("粘包米") # 元组本身没有变. 变的是子元素中的内容
print(tu)         #(1, '马化腾', ['胡辣汤', '疙瘩汤', '西红柿鸡蛋汤', '粘包米'])
#元组的查询,根据索引
tu = ("王昭君", "小泽老师", "夏川美里", "斯琴高娃", ("邱老师",("刀削面", "炒饼", "盖浇饭"), "刘德华", "周星星", "渣渣辉"))
print(tu[4][1][2])      #盖浇饭

8. range()
  数数

  有一个参数: 结束为止,小于参数就结束
  两个参数: 1. 起始位置, 2.结束位置
  三个参数: 1. 起始位置, 2. 结束位置. 3.步长

for i in range(10): # 从0开始. 到10结束,小于10
    print(i)         #0 1 2 3 4 5 6 7 8 9
for i in range(3, 7):   # 从3 开始. 打印到7结束. 不能到7
    print(i)        #3 4 5 6
for i in range(3, 10, 2):  # 从3 到 10 每2个取一个,也就是隔着一个数取出来一个
    print(i)        #3 5 7 9
for i in range(10, -10, -1):  #从10 开始到-10结束. 倒着数 ,每1个取一个,也就是不隔间隙的取
    print(i)       #10 9 8 7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 

 

 



 

posted @ 2018-07-08 22:41  我叫好名字  阅读(392)  评论(0编辑  收藏  举报