0
点赞
收藏
分享

微信扫一扫

《Redis操作Python系列、redis基本命令 list|CSDN创作打卡》

船长_Kevin 2022-02-07 阅读 69

导读

创建测试类【demo11.py】

增加与读取

在name对应的list中添加元素,每个新的元素都添加到列表的最左边

import redis

r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.flushall()

r.lpush("list1", "琢石", "璞玉", "破梦")#向左侧添加
r.rpush("list1","灭神")#向右侧添加
print(r.lrange('list1', 0, -1))#-1代表所有值

获取列表长度

import redis

r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.flushall()

r.lpush("list1", "琢石", "璞玉", "破梦")#向左侧添加
r.rpush("list1","灭神")#向右侧添加

len=r.llen("list1")
print("list长度是:",len)
print(r.lrange('list1', 0, len-1))#这里是可以越界的

新增(固定索引号位置插入元素)

在name对应的列表的某一个值前或后插入一个新值

参数:

import redis

r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.flushall()

r.lpush("list1", "琢石", "璞玉", "破梦")#向左侧添加
r.rpush("list1","灭神")#向右侧添加

r.linsert("list1", "after", "璞玉", "诸佛")#在"璞玉"的右侧添加了"诸佛",如果是"befor"则是左侧
print(r.lrange("list1", 0, -1))

修改(指定索引号进行修改) 

对name对应的list中的某一个索引位置重新赋值

参数:

import redis

r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.flushall()

r.lpush("list1", "琢石", "璞玉", "破梦")#向左侧添加
r.rpush("list1","灭神")#向右侧添加

r.lset("list1", 2, "诸佛")    # 把索引号是2的元素修改成"诸佛"

print(r.lrange("list1", 0, -1))

删除(指定值进行删除) 

在name对应的list中删除指定的值

参数:

import redis

r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.flushall()

r.lpush("list1","璞玉","琢石", "璞玉", "破梦","璞玉","璞玉","璞玉","璞玉","诸佛","璞玉","璞玉")#向左侧添加
r.rpush("list1","灭神")#向右侧添加
print(r.lrange("list1", 0, -1))

r.lrem("list1",1,"璞玉")#从左边删除1个
print(r.lrange("list1", 0, -1))

r.lrem("list1",2,"璞玉")#从左边删除2个
print(r.lrange("list1", 0, -1))

r.lrem("list1",-2,"璞玉")#从右边删除2个
print(r.lrange("list1", 0, -1))

删除并返回

在name对应的列表的左侧获取第一个元素并在列表中移除,返回值则是第一个元素

更多:

rpop(name) 表示从右向左操作

import redis

r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.flushall()

r.lpush("list1","璞玉","琢石", "璞玉", "破梦","诸佛","璞玉")#向左侧添加
r.rpush("list1","灭神")#向右侧添加
print(r.lrange("list1", 0, -1))

one=r.lpop("list1")#左删除
print("左1",one)
two=r.lpop("list1")#左删除
print("左2",two)
three=r.rpop("list1")#右删除
print("右1",three)
four=r.rpop("list1")#右删除
print("右2",four)

print(r.lrange("list1", 0, -1))

删除索引之外的值

在name对应的列表中移除没有在start-end索引之间的值

参数:

import redis

r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.flushall()

r.lpush("list1","璞玉","琢石", "璞玉", "破梦","诸佛","璞玉")#向左侧添加
r.rpush("list1","灭神")#向右侧添加

print(r.lrange("list1", 0, -1))

r.ltrim("list1", 2, 4)#存留下标2-4,也就是234三个值

print(r.lrange("list1", 0, -1))

取值(根据索引号取值)

在name对应的列表中根据索引获取列表元素

import redis

r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.flushall()

r.lpush("list1","璞玉","琢石", "璞玉", "破梦","诸佛","璞玉")#向左侧添加
r.rpush("list1","灭神")#向右侧添加

print(r.lrange("list1", 0, -1))

print(r.lindex("list1", 2))#下标值是2,也就是"破梦"

希望能对大家有所帮助,谢谢,欢迎一键三连。

举报

相关推荐

0 条评论