python列表和元组

列表

  • 普通列表
member = ['p','y','t','h','o','n']
member
# ['p', 'y', 't', 'h', 'o', 'n']
  • 混合列表
mix = [1,'小甲鱼',3.24,[1,2,3]]
mix
# [1, '小甲鱼', 3.24, [1, 2, 3]]
  • 空列表
empty = []
empty
# []

向列表中添加元素

num = [1,2,3,4]
num.append(5)
num
# [1, 2, 3, 4, 5]
len(num)
# 5

用一个列表来扩展另一个列表

member = [1,2,3]
member.extend([4,5])
member
# [1, 2, 3, 4, 5]

插入

num = [1,2,3]
num.insert(0, 0)
num
# [0, 1, 2, 3]
len(num)
# 4

随机访问列表中的元素

num = [1,2,3,4]
num[3]
# 4

交换列表中两个元素

num = [1,2,3,4]
num[3]
# 4
temp = num[0]
num[0] = num[1]
num[1] = temp
num
# [2, 1, 3, 4]

删除元素

  • remove()
  • del
  • pop()
num = [1,2,3,4,5]
num.remove(1)
num
# [2, 3, 4, 5]
del num[3]
num
# [2, 3, 4]
del num #将整个列表从内存中移除
num.pop()
# 4
temp = num.pop()
temp
# 3

列表分片

num = [1,2,3,4]
num[1:3]  #分片[1,3)
# [2, 3]
num
# [1, 2, 3, 4]
num[:2]   #分片[0,2)
# [1, 2]
num[1:]   #分片[1,末尾)
# [2, 3, 4]
num[:]    #得到列表的拷贝
# [1, 2, 3, 4]

列表操作符

list1 = [123]
list2 = [234]
list1 > list2
# False
list1 = [123, 456]
list2 = [234, 123]
list1 > list2  #先比较第一个元素,如果相等,再比较第二个
# False
list3 = [123, 456]
list1 < list2 and list1 == list3
# True
list4 = list1 + list2    #连接
list4
# [123, 456, 234, 123]
list1 + "小甲鱼"  #左右的类型要一致

Traceback (most recent call last):
  File "<pyshell#107>", line 1, in <module>
    list1 + "小甲鱼"
TypeError: can only concatenate list (not "str") to list

list3
# [123, 456]
list3 * 3  
# [123, 456, 123, 456, 123, 456]
list3 *= 3
list3
# [123, 456, 123, 456, 123, 456]
123 in list3
# True
'小甲鱼' not in list3
# True
list5 = [123, ['小甲鱼','牡丹'], 456]
'小甲鱼' in list5
# False
'小甲鱼' in list5[1]
# True
list5[1][1]  #类似二维数组
# '牡丹'

列表常用的内置函数

list3 = [123, 456, 123, 456, 123, 456]
list3.count(123)  #统计123在列表中出现的次数
# 3
list3.index(456)
# 1
list3.index(456,3,5)  #返回从[3,5)第一次出现456的索引
# 3
list3.reverse()   #倒序
list3
# [456, 123, 456, 123, 456, 123]
list6 = [1, 4,6,2,87,3,6]
list6.sort()    #排序,默认升序
list6
# [1, 2, 3, 4, 6, 6, 87]
list6.sort(reverse = True)
list6
# [87, 6, 6, 4, 3, 2, 1]
list7 = list6[:]   #拷贝
list7
# [87, 6, 6, 4, 3, 2, 1]
list8 = list6      #list8和list6指向同一地址
list8
# [87, 6, 6, 4, 3, 2, 1]
list6.sort()
list6
# [1, 2, 3, 4, 6, 6, 87]
list7
# [87, 6, 6, 4, 3, 2, 1]
list8
# [1, 2, 3, 4, 6, 6, 87]

元组

元组是不可改变的,跟java的字符串类似

tuple1 = (1,2,3,4,5,6)
tuple1
# (1, 2, 3, 4, 5, 6)
tuple1[1]  #元组的随机访问和列表一样
# 2
tuple1[3:] #元组的分片和列表一样
# (4, 5, 6)
tuple1[:3]
# (1, 2, 3)
tuple2 = tuple1[:]  #拷贝
tuple2
# (1, 2, 3, 4, 5, 6)
tuple1[2] = 10    #元组是不可改变的

Traceback (most recent call last):
  File "<pyshell#160>", line 1, in <module>
    tuple1[2] = 10
TypeError: 'tuple' object does not support item assignment

temp = (1)
temp
# 1
type(temp)
# <class 'int'>
temp2 = 1,2,4  #元组的标志是逗号,列表的标志是[]
temp2
# (1, 2, 4)
type(temp2)
# <class 'tuple'>
temp = () #创建空的元组
type(temp)
# <class 'tuple'>
temp = (2, )
type(temp)
# <class 'tuple'>
temp = 1,
type(temp)
# <class 'tuple'>
8 * (8)
# 64
8 * (8,)
# (8, 8, 8, 8, 8, 8, 8, 8)

元组的更新和删除

temp = ('小甲鱼', "黑衣人", "小鱼儿")
temp = temp[:1] + ("哈哈",) + temp[1:] #更新
temp
('小甲鱼', '哈哈', '黑衣人', '小鱼儿')
temp = temp[:1]+temp[2:]  #删除
temp
('小甲鱼', '黑衣人', '小鱼儿')

可以运用在元组上的操作符

  • in 和 not in
  • 逻辑操作符
  • +和*
  • 比较操作符
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值