博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
列表、字典(操作)
阅读量:6552 次
发布时间:2019-06-24

本文共 4858 字,大约阅读时间需要 16 分钟。

列表:增删改查

L.append(object):在列表最后增加_list = [5, 2, 6, 1, 3, 7, 4]_list.append("pd")print(_list)    #[5, 2, 6, 1, 3, 7, 4, 'pd'] _list = ["小东", "小西", "小南", "小北"]while 1:    username = input("输入Q/q退出添加")    if username.strip().lower() == "q":    #迭代添加姓名到列表最后,直到输入q退出        break    else:        _list.append(username)print(_list)    #['小东', '小西', '小南', '小北', 'ppd'] L.insert(index, object):插入_list = [5, 2, 6, 1, 3, 7, 4]_list.insert(3, "pd")print(_list)    #[5, 2, 6, 'pd', 1, 3, 7, 4] L.extend(iterable):迭代增加_list = [5, 2, 6, 1, 3, 7, 4]_list.extend(["p", "p", 8])print(_list)    #[5, 2, 6, 1, 3, 7, 4, 'p', 'p', 8]

L.pop(index):按索引删除_list = [5, 2, 6, 1, 3, 7, 4]name = _list.pop(3)    #按索引删除,默认删除最后一个print(name, _list)        #1 [5, 2, 6, 3, 7, 4];1为返回值L.remove(value):按元素删除_list = [5, 2, 6, 1, 3, 7, 4]_list.remove(5)print(_list)    #[2, 6, 1, 3, 7, 4]L.clear():清空列表_list = [5, 2, 6, 1, 3, 7, 4]_list.clear()print(_list)    #[]del:从内存中删除列表_list = [5, 2, 6, 1, 3, 7, 4]del _listdel list[]:切片删除列表内容_list = [5, 2, 6, 1, 3, 7, 4]del _list[0:2]print(_list)    #[6, 1, 3, 7, 4]

赋值地改:_list[i] = "n"    #将"e_list"的[i]位删除,然后"n"赋值给这个位_list = [5, 2, 6, 1, 3, 7, 4]_list[0] = "pd"    print(_list)    #['pd', 2, 6, 1, 3, 7, 4]切片地改:在区间加入任意数量新元素_list = [5, 2, 6, 1, 3, 7, 4]_list[0:1] = "小明"             #['小', '明', 2, 6, 1, 3, 7, 4]_list[0:3] = [1,"a", "小明"]    #[1, 'a', '小明', 1, 3, 7, 4]print(_list)

_list = [5, 2, 6, 1, 3, 7, 4]for i in _list:    #for循环一一查看列表里的内容    print(i)_list = [5, 2, 6, 1, 3, 7, 4]    print(_list[0:2])    #[5, 2];切片查看

公共方法

L.index(value, [start], [stop]):列表只能用index索引,不能用find_list = [5, 2, 6, 1, 3, 7, 4]i = _list.index(1)        #3     找到元素1的索引号为3i = _list.index(3, 2, 5)  #4     找到元素3的索引号为4L.sort(reverse=False):列表排序_list = [5, 2, 6, 1, 3, 7, 4]_list.sort()    #默认正序排序参数可以不用填(reverse=False),倒序排序添加"reverse=True"print(_list)    #[1, 2, 3, 4, 5, 6, 7]L.reverse():列表反向排序_list = [5, 2, 6, 1, 3, 7, 4]_list.reverse()print(_list)    #[4, 7, 3, 1, 6, 2, 5]

列表的嵌套

_list = ["小白", "老虎", "ppd", ["东南", "西北"], 18]print(_list[1][1])        #虎name = _list[2].capitalize()    #Ppd_list[3][1] = "ppd"    #['小白', '老虎', 'ppd', ['东南', 'ppd'], 18]_list = ['小白', '老虎', 'ppd', ['东南', 'ppd'], 18]_list[3][1] = _list[3][1].upper()        #['小白', '老虎', 'ppd', ['东南', 'PPD'], 18]_list[1] = _list[1].replace("虎", "板")    #['小白', '老板', 'ppd', ['东南', '西北'], 18]_list[3][0] = _list[3][0].replace("东", "西")        #['小白', '老虎', 'ppd', ['西南', '西北'], 18]_list[3].append("东南西北")    #['小白', '老虎', 'ppd', ['东南', '西北', '东南西北'], 18]

元组:只读列表,可循环查询,可切片;儿子不能改,孙子可能可以改

_tuple = (1, 2, 3, "ppd", ["小明", 4, 5, "qwer"], "哈哈")_tuple[4][3] = _tuple[4][3].upper()    #(1, 2, 3, 'ppd', ['小明', 4, 5, 'QWER'], '哈哈')_tuple[4].append("asdf")        #(1, 2, 3, 'ppd', ['小明', 4, 5, 'QWER', 'asdf'], '哈哈')

列表与字符串之间的转换(重要)

s = ["小白", "ppd", "18"]x = ",".join(s)print(x)    #小白,ppd,18s = "小白:ppd:18"  #这是一个字符串x = s.split(":")  #用 : 区别分开字符串print(x)    #['小白', 'ppd', '18']

range:顾头不顾尾

for i in range(1, 10):    print(i)    #123456789for i in range(1, 10, 2):    print(i)    #13579for i in range(10, 1, -2):    print(i)    #10 8 6 4 2for i in range(1, 10, -1):    print(i)    #什么也不显示

字典

数据类型划分:可变数据类型、不可变数据类型    不可变数据类型:元组、bool、int、str 可哈希    可变数据类型:list、dict、set 不可哈希
key:必须是不可变数据类型 可哈希value:任意数据类型优点:二分查找去查询特点:无序、存储大量的关系型数据

访问字典中的值:字典名["键"]

增改删查

dic = {"age": 18, "name": "pd", "sex": "male"}

增或改:字典名["键"]、字典名.update(字典名1)dic["age"] = "20"   #有键,值被覆盖dic["hobby"] = "swimming"   #没有找到对应的键,则作为新的键值对添加进字典中dic1 = {
"weight": "55kg", "height": 173}dic.update(dic1) #将字典dic1的键值对全部添加到字典dic中
删:del 字典名["键"]、字典名.pop("键")、字典名.popitem()、字典名.clear()del dic["age"]        #删除键"age",无返回值del dic[]     #删除字典,什么都没了dic.pop("age")      #删除键"age",有返回值,设置一个被赋予的变量,print这个变量即可看到返回值dic.popitem()     #随机删除,有返回值dic.clear()   #清空字典中的键值对
查:x = dic.keys()y = dic.values()z = dic.items()print(x)    #dict_keys(['age', 'name', 'sex'])print(y)    #dict_values([18, 'pd', 'male'])print(z)    #dict_items([('age', 18), ('name', 'pd'), ('sex', 'male')])

遍历

dic = {
"age": 18, "name": "pd", "sex": "male"}for k in dic.keys(): print(k.title())for v in dic.values(): print(v)for k, v in dic.items(): #k、v是变量,可使用任何名称 print("key:"+k, "\nvalues:"+str(v)) #\n为换行符if "height" not in dic.keys(): #使用keys()检测一个键是否在字典中 print("tell me your height")

嵌套

dic = {
"name": ["大头", "小头"], "name8": ["ppd", "peter", "john"], "dic1": {
"color": "red", "points": "5", "position": "gd"}, (1, 2, 3): "123", True: 1, 18: "age", }dic["name"].append("大小头") #修改键name的值,name的值为列表,即在列表中加入新的元素dic["dic1"]["color"] = dic["dic1"]["color"].upper() #将键color的值全改为大写dic["name8"][1] = dic["name8"][1].capitalize() #修改键name8的值,值为列表,将peter首字母改为大写dic["dic1"]["abc"] = "123" #修改键dic1对应的值,值为字典,在字典中添加键值对 "abc": "123"

 

转载于:https://www.cnblogs.com/believepd/p/9539153.html

你可能感兴趣的文章
UIKeyboard键盘相关知识点-IOS开发
查看>>
你真的会 snapshot 吗? - 每天5分钟玩转 OpenStack(163)
查看>>
onAttachedToWindow和onDetachedFromWindow调用时机源码解析
查看>>
虚拟机外接USB设备情况的vMotion问题
查看>>
Mysql数据库大小查询
查看>>
#78 Reimplement Trampoline
查看>>
使用Java制作图文验证码
查看>>
java学习笔记----之多线程开发
查看>>
使用javap分析return和finally的执行字节码
查看>>
java 代理
查看>>
数据库设计三范式
查看>>
Eclipse插件开发- view to view drag drop
查看>>
Linux 技巧:让进程在后台可靠运行的几种方法
查看>>
ORACLE特殊字符的处理方法
查看>>
根据Servlet的Filter自定义实现字符编码过滤器
查看>>
shiro之Remembered vs. Authenticated
查看>>
碉堡了!又一只会跑酷的狗狗!
查看>>
python入门(一)-- 简介与基本语法
查看>>
oh-my-zsh安装与配置
查看>>
pyramid学习笔记整理
查看>>