Python—列表元组和字典(上)

简介: 列表元组字典

表:


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

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

 

 

列表的赋值


2387773-20220118090751224-18046074.png

2387773-20220118094731941-1199057103.png


案例


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]


存在与否

第五种


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]


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


2387773-20220118094731941-1199057103.png


第一种
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)


2387773-20220118101339516-1199731136.png


冒泡排序


2387773-20220118101559589-360710400.png


#冒泡排序
#双重循环、外层控制比较轮数,内层循环控制每轮比较次数
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)


选择排序


2387773-20220118115246502-580750200.png


#演示选择排序 :从前向后遍历,找到一个最小值与该位置交换
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)


插入排序


2387773-20220118115431770-1087654491.png


#插入排序1:<br>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)



相关文章
|
5月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
355 1
|
5月前
|
开发者 Python
Python列表推导式:优雅与效率的完美结合
Python列表推导式:优雅与效率的完美结合
497 116
|
5月前
|
大数据 开发者 Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
438 109
|
5月前
|
Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
509 119
|
5月前
|
Python
Python列表推导式:优雅与效率的艺术
Python列表推导式:优雅与效率的艺术
358 99
|
5月前
|
数据处理 Python
解锁Python列表推导式:优雅与效率的完美融合
解锁Python列表推导式:优雅与效率的完美融合
365 99
|
5月前
|
Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
|
5月前
|
索引 Python
Python 列表切片赋值教程:掌握 “移花接木” 式列表修改技巧
本文通过生动的“嫁接”比喻,讲解Python列表切片赋值操作。切片可修改原列表内容,实现头部、尾部或中间元素替换,支持不等长赋值,灵活实现列表结构更新。
242 1
|
5月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
249 4
|
5月前
|
索引 Python
098-python列表_切片_slice_开始_结束
本文介绍了Python中列表的切片(slice)操作,通过“前闭后开”原则截取列表片段,支持正负索引、省略端点等用法,并结合生活实例(如切面包、直播切片)帮助理解。切片不改变原列表,返回新列表。
366 4