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)



相关文章
|
7天前
|
Python
探索Python中的列表推导式
【10月更文挑战第38天】本文深入探讨了Python中强大而简洁的编程工具——列表推导式。从基础使用到高级技巧,我们将一步步揭示如何利用这个特性来简化代码、提高效率。你将了解到,列表推导式不仅仅是编码的快捷方式,它还能帮助我们以更加Pythonic的方式思考问题。准备好让你的Python代码变得更加优雅和高效了吗?让我们开始吧!
|
22天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
17 1
|
23天前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
|
23天前
|
Python
SciPy 教程 之 SciPy 模块列表 9
SciPy教程之常量模块介绍,涵盖多种单位类型,如公制、质量、角度、时间、长度、压强等。示例展示了如何使用`scipy.constants`模块查询不同压强单位对应的帕斯卡值,包括atm、bar、torr、mmHg和psi。
14 1
|
20天前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
15 0
|
20天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy 教程之 SciPy 模块列表 15 - 功率单位。常量模块包含多种单位,如公制、质量、时间等。功率单位中,1 瓦特定义为 1 焦耳/秒,表示每秒转换或耗散的能量速率。示例代码展示了如何使用 `constants` 模块获取马力值(745.6998715822701)。
15 0
|
20天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy教程之SciPy模块列表15:单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。功率单位以瓦特(W)表示,1W=1J/s。示例代码展示了如何使用`constants`模块获取马力(hp)的值,结果为745.6998715822701。
16 0
|
21天前
|
C语言 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第24天】在Python编程的世界中,追求代码的简洁性和可读性是永恒的主题。列表推导式(List Comprehensions)作为Python语言的一个特色功能,提供了一种优雅且高效的方法来创建和处理列表。本文将深入探讨列表推导式的使用场景、语法结构以及如何通过它简化日常编程任务。
|
22天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy 教程之 SciPy 模块列表 13 - 单位类型。常量模块包含多种单位:公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例:`constants.zero_Celsius` 返回 273.15 开尔文,`constants.degree_Fahrenheit` 返回 0.5555555555555556。
14 0
|
23天前
|
Python
SciPy 教程 之 SciPy 模块列表 11
SciPy教程之SciPy模块列表11:单位类型。常量模块包含公制单位、质量单位、角度换算、时间单位、长度单位、压强单位、体积单位、速度单位、温度单位、能量单位、功率单位、力学单位等。体积单位示例展示了不同体积单位的换算,如升、加仑、流体盎司、桶等。
18 0