一, 列表

列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:

列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。


列表的增删改查
  • 增加:

    append() 追加,在后面追加
    insert() 插入,原来位置的元素往后移动一个,括号里面要给出插入的位置,和插入的内容
    extend() 添加,迭代添加,括号里面写要添加的内容,会迭代添加进去,如果想整体添加进入的话,需要在把元素放在列表中

li = [1,'a','b',2,3,'a']
# li.insert(0,55) #按照索引去增加
# print(li)
#
# li.append('aaa') #增加到最后
# li.append([1,2,3]) #增加到最后
# print(li)
#
# li.extend(['q,a,w']) #迭代的去增
# li.extend(['q,a,w','aaa'])
# li.extend('a')
# li.extend('abc')
# li.extend('a,b,c')
# print(li)
  • 删除:

    pop() 弹出,括号里面给出想要弹出的索引,返回的是被删除的数据
    remove() 删除指定元素,没有返回值
    del lst[] 切片删除
    clear() 清空

 

# l1 = li.pop(1) #按照位置去删除,有返回值
# print(l1)

# del li[1:3] #按照位置去删除,也可切片删除没有返回值。
# print(li)

# li.remove('a') #按照元素去删除
# print(li)

# li.clear() #清空列表

 

  • :

    索引改: lst[] = 要改的内容 索引改
    切片改: lst[1:3] = 要更改的内容,或迭代更改,如果想整体修改,加[]
切片改的话,如果步长不是1,元素的个数需要对应

 

# li = [1,'a','b',2,3,'a']
# li[1] = 'dfasdfas'
# print(li)
# li[1:3] = ['a','b']
# print(li)

 

  • 查询:

      列表是一个可迭代对象,可以用for循环查询

  • 其他操作:

    count() 计数,括号里面给出需要查询的元素,返回该元素在列表中出现的次数
    sort() 排序,默认升序
    sort(reverse = True) 降序
    reverse() 翻转
    len() 求长度

 

a = ["q","w","q","r","t","y"]
print(a.count("q"))
print(a.index("r"))
    
a = [2,1,3,4,5]
a.sort()# 他没有返回值,所以只能打印a
print(a)
a.reverse()#他也没有返回值,所以只能打印a
print(a)

 


元组:
只读列表,只能查看,不能增删改,使用()表示,如果元组里面只有一个元素的话,要在元素后面加一个逗号,如果是空元祖的话,用tuple()表示
可以索引查,可以切片查,返回的是一个元组
也可以for循环查询
range :
range是一个可迭代对象,可以for循环
range(n) 打印出的是0~n-1
range(m,n) 打印出的是m~n-1
range(m,n,q) 打印出的是从m~n-1,每q个取一个
使用range 和 for循环获取列表中的索引
python2 中存在range 和 xrange
python3 中只有一个range
python2中的xrange和python3中的range是一样的