Python—列表元组和字典

列表

元组

字典

列表:

列表是Python中的一种数据结构,他可以存储不同类型的数据。尽量存储同一种类型

列表索引是从0开始的,我们可以通过索引来访问列表的值。

列表的赋值

案例

A=[1,'xiaoWang','a',[2,'b']]
a、lst = [1,2,3,4,5,6]#list使用[] , {}字典,()tuple
list.append(元素) 在列表尾部追加元素

第一种

lst.append(10)#再尾部追加
#结果:[1, 2, 3, 4, 5, 6, 10]

在前方插入/修改

第二种

print(lst[0:5:2]) #结果:[1, 3, 5]
lst[0]=5 #结果:[5, 2, 3, 4, 5, 6, 10]
lst[0:2]=7,12,3#结果:[7, 12, 3, 4, 5, 6, 10]
lst[0]=1,2 #默认变为元组插入该位置

extend 追加内容

第三种

lst2=[50,90] #追加的内容
lst.extend(lst2)# 追加到lst的末尾 [(1, 2), 12, 3, 3, 4, 5, 6, 10, 50, 90]
print(lst.__add__(lst2)) # 追加同时,返回追加的数字 结果:[(1, 2), 12, 3, 3, 4, 5, 6, 10, 50, 90, 50, 90]

insert 追加(少用)

第四种

lst.insert(0,66) #追加到首位 原位的值全部后移 [66, 1, 2, 3, 4, 5, 6] #当插入不在尾部时,直接转为链式表,结果时再转回
线性表,不适用,少用

存在与否

第五种

print(8 in lst) #是否存在 存在为true /false 结果False
print( 1 in lst)#结果 True

根据值查找下标

第六种

print(lst.index((5))) #返回值的下标 结果 :4

根据下标将值替代成指定元素

第七种

lst[2],lst[5]=22,55 #根据下标将值替代成指定元素 结果:[1, 2, 22, 4, 5, 55]

多元素替换多个位置的值

第八种

lst[0:5]=77,88 #多个元素替换多个位置的值 结果:[77, 88, 55] 但如果只有一个替换值,则报错

删除del

第九种

del lst[0] #直接删除下标 结果: [2, 3, 4, 5, 6]

#删除 remove

lst.remove(2) #直接移除值 劣势:容易让人误会

#删除 pop

lst.pop() #不加值,默认移除最后一个,若加下标,则删除下标 [3, 4, 5]

  

循环随机数列表遍历及用长度遍历

第一种
lst=[]
for i in range(5):
lst.append(random.randint(0,100))
print(lst)
#结果:[24, 26, 36, 92, 59] 第二种
b、随机数的遍历 [第一种]
for x in lst:
print(x)
#结果:
98
73
56
15
75 第三种
c、随机数长度遍历
for x in range(lst.__len__()): *****#使用下标遍历******
print(lst[x])
#结果:
98
73
56
15
75

  

列表的排序操作

#列表的排序
lst.sort() #正序
lst.sort(reverse=True) #倒序
lst.reverse() #倒序
print(lst)

冒泡排序

#冒泡排序
#双重循环、外层控制比较轮数,内层循环控制每轮比较次数
for i in range(len(lst)-1): #最后一轮只剩一个元素,不需要比较,因此减-1
for j in range(len(lst)-i-1):#最后一个只剩一个元素,不需要比较,所以-1
#每轮都能确定一个最大值,所以每轮减少一次比较
if lst[j] > lst[j+1]:
tmp=lst[j]
lst[j]=lst[j+1]
lst[j+1]=tmp
print(lst)

选择排序

#演示选择排序 :从前向后遍历,找到一个最小值与该位置交换
import random
lst=[]
for x in range(10):
lst.append(random.randint(0,100))
print(lst)
#排序
for x in range(len(lst)-1):#最后一个位置不需要比较
tmp=lst[x] #每一轮定一个初始值,目的和后面的值比较
idx=x
for y in range(x+1,len(lst)): #从初始值向后遍历
if(tmp>lst[y]):#木得是为了在一轮中找出最小值
tmp=lst[y]#最小值保存在tmp中
idx=y#下标保存在idx中
else:
lst[idx]=lst[x] #根据最小值下标,把初始值放进去
lst[x]=tmp#把最小值放入初始值位置中
print(lst)

  

插入排序

#插入排序1:
arr=[10,20,30,50,80]
a=int(input("请输入一个整数:"))
arr.append(a)
idx=len(arr)-1
while idx>0:
#从后向前遍历
idx-=1
#遇到比自己小的,则在后方插入
if a>arr[idx]:
arr[idx+1]=a
break
#遇到比自己大的,大的值向后移
else:
arr[idx+1]=arr[idx]
#如果到最后都没有插入,则插入首位
if idx==0:
arr[0]=a
print(arr)

  

插入排序

#插入排序2:
import random lst=[]
for x in range(10):
lst.append(random.randint(0,100))
print(lst) for x in range(1,len(lst)):
idx=x
tmp=lst[x]
while x>0:
x-=1
if tmp>=lst[x]:
lst[x+1]=tmp
break
else:
lst[x+1]=lst[x]
if x==0:
lst[0]=tmp
print(lst)

  

嵌套列表的遍历

指的是一个列表的元素又是一个列表 【遍历的区别】

案例一:

for x in school_name:
for y in range(len(x)):
print(x[y])
#结果:北大、清华、南开、中山、山大、苏大

案例二

for x in school_name:
for y in x:
print(y)

  

列表常用循环

列表常用循环
lst=["zhao","qian","sun","li","zhou","wu","zhen","wang"]
lst2=lst.copy() #赋值给指定的值
print(lst2) list.reverse(lst) #即将列表反序输出
print(lst)

元组

元素的元素不可修改,使用()包裹元素

基本使用

tpl=(1,2,3,4,5)
print(type(tpl))
print(tpl[0])
print(tpl[0:3])
print(tpl[0:5:2]) #步长 显示单数
print(tpl[1:5:2]) #步长 显示双数
for x in tpl: #遍历
print(x)

函数

print(max(tpl)) #显示最大值
print(min(tpl)) #显示最小值
print(list(tpl)) #元组转为列表【常用】

  

字典

一种存储数据的容器,每一个元素由键值对构成

set用法

set

dct={'a','b','c','a'} #当大括号内没有键值对时,使用的是set(无序集合),特点是“去重”
print(dct)
print(type(dct))

  

案例

d={"name":"大黄","age":"5","strain":"拉布拉多"}   #json字符串
print(d["name"])
print(d.get("我草"))
d["name"]="羊总"
d["lalala"]="1996.888"
print(d)

d.setdefault("吴亦凡","侮辱未成年") #存在不动,不存在给你加进去
print(d)

删除

d.clear()#清空 结果:{}
del d['result'] #结果:{'name': '羊总', 'mouth': 5, 'how': '2021-11'}
print(d)

  

keys用法

#演示keys()、values()、items()
dct={"name":"zhangsan","age":"18","gender":"male","id":"10"}
keys=dct.keys()
print(keys)
dct.setdefault("birthday","1999-99")
print(keys)
for k in keys:
print(k+":",dct[k])

  

items()用法

dct={"name":"zhangsan","age":"18","gender":"male","id":"10"}
#items
itms=dct.items()
print(itms)
for (x,y) in itms:
print(x+":",y)

values()用法

values=dct.values()
print(values) #结果: dict_values(['张三', 18, 'male', 10]) 注意 后出现的数值才会被使用
for (x,y) in items:
print(x+':',y)

  

Python—列表元组和字典的更多相关文章

  1. Python成长笔记 - 基础篇 (三)python列表元组、字典、集合

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码   一.列表和元组的操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义 ...

  2. python—列表,元组,字典

    ——列表:(中括号括起来:逗号分隔每个元素:列表中的元素可以是数字,字符串,列表,布尔值等等) (列表元素可以被修改)  list(类)    (有序的) [1]索引取值:切片取值:for循环:whi ...

  3. Python列表元组和字典解析式

    目录 列表解析式List comprehensive 集合解析式Set comprehensive 字典解析式Dict comprehensive 总结 以下内容基于Python 3x 列表解析式Li ...

  4. python列表元组

    python列表元组 索引 切片 追加 删除 长度 循环 包含   定义一个列表 my_list = []     my_list = list()   my_list = ['Michael', ' ...

  5. 【277】◀▶ Python 列表/元组/字典说明

    目录: 前言 一.访问列表中的值 二.更新列表 三.删除列表元素 四.Python 列表脚本操作符 五.Python 列表函数 & 方法 参考:Python 列表(List)使用说明 列表截取 ...

  6. Python 列表,元组,字典

    0)字符串切片 py_str = 'python' >>>py_str[0] #取第一个字符串,返回值为"p",超出范围会报错 >>>py_st ...

  7. Python 列表/元组/字典总结

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

  8. Python列表,元组,字典,字符串方法笔记

    01. 列表 1.1 列表的定义 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义,数据 之间使用 , 分隔 列 ...

  9. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

随机推荐

  1. yum 下载安装包以及依赖包

    有时候我在用yum安装软件,依赖包比较多,还受网速的影响.所以我们可以将安装包以及依赖包下载到本地安装,这样会快捷很多. yum 提供了这种功能 yum -y install yum-utils 下载 ...

  2. Fiddler Everywhere简单使用

    重装了电脑,想装Fiddler,结果官网下载的包变成了Fiddler Everywhere,体验了下,与老版本相比,操作流程上并无太大变化,但是安装包明显变大了,而且需要登录才能操作,建议还是用老版本 ...

  3. Windows 10 如何在当前位置打开 CMD 命令窗口?

    方法一 Win + R 键召唤出运行窗口,然后输入 "CMD" 打开命令提示符. 使用 cd 命令更改当前命令提示符的工作环境. 注释 cd/ - 退到当前所在盘符 cd.. - ...

  4. ON UPDATE CURRENT_TIMESTAMP请慎用

    大家好,我是架构摆渡人.这是实践经验系列的第七篇文章,这个系列会给大家分享很多在实际工作中有用的经验,如果有收获,还请分享给更多的朋友. 今天给大家分享一个容易忽略的问题,正是因为容易忽略,所以才要重 ...

  5. Jeesite富文本编辑框ckeditor显示错误

    Jeesite富文本编辑框ckeditor显示错误 原文链接:https://www.toutiao.com/i6485135618190869005/ Jeesite中Control都会继承一个Ba ...

  6. asp.net core 中优雅的进行响应包装

    目录 摘要 正常响应/模型验证错误包装 实现按需禁用包装 如何让 Swagger 识别正确的响应包装 禁用默认的模型验证错误包装 使用方法以及自定义返回结构体 SourceCode && ...

  7. SYCOJ246螺旋矩阵

    题目-螺旋矩阵 (shiyancang.cn) noip201403螺旋矩阵[普及组]数学算法 - 大本营 - 博客园 (cnblogs.com) 以下为搬运代码.一个为算圈数,另外一个是数学方法 思 ...

  8. 用Less 的 js方式替代 bootStrap 里 [class*=”span”]

    Bootstrap 里的 grid system 里面 (源代码) 有这么一段, [class*="span"] { float: left; margin-left: @grid ...

  9. python实现掘金定时签到抽奖

    python实现掘金定时签到抽奖 一. 概述 这里记录一下使用 python 实现掘金定时签到抽奖.首先需要登录掘金,进入签到页面,按 F12 打开浏览器的调试面板,选择 Network,选择 XHR ...

  10. leetcode 28. 实现 strStr()

    问题描述 实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始).如果不 ...