python中随机数,序列极其基本操作,enumerate()枚举,列表及其操作,元组tuple的创建和遍历

1 . python随机数的生成
例如1-100间的int

import random
ran=random.randint(1,100)

2.序列是一种数据存储方式,用来存储一系列的数据。在内存中,序列就是一块用来存放多个值的连续的内存空间。

序列包括五种数据类型:字符串,列表,元组,(有序序列)字典,集合(无序序列)

序列包括四种组合数据类型:
列表,元组,(有序序列)字典,集合(无序序列)

在这里插入图片描述
①切片操作

在这里插入图片描述

步长可以为负数,s[::-1]可以对s进行逆序输出,=s[-1:-N:-1]

②序列可以相加相乘例如字符串相加连接,*n可以重复n次,此外

在这里插入图片描述


列表list----可变数据类型——操作后元素数量可以改变但是元素的存储位置不变

列表(List)是一种动态数组数据结构在Python等语言中,它不是基于哈希表实现的。列表之所以不需要哈希是因为其元素的存储和访问方式:

顺序存储:列表内的元素按照插入的顺序线性排列,通过索引(从0开始)直接访问,这与哈希表的随机查找(通过键计算哈希值确定位置)不同。

无固定大小:列表可以动态地改变大小,即在需要时添加或删除元素,而无需预设容量。哈希表通常有固定的容量,当元素超过一定数量时,需要调整底层哈希表的结构。

遍历操作:对于列表,常见的遍历操作如就是基于顺序的,而哈希表更常用于快速查找和插入操作,适合一次性找到特定键对应的值。for i in list:

虽然列表不依赖哈希提供高效的查找速度,但在某些场景下,如果需要快速查找元素,尤其是对大量数据进行频繁查找的情况下,哈希表会更有优势。例如,字典(Dictionary)在Python中就是一个基于哈希实现的数据结构。

1.列表的创建

在这里插入图片描述

  1. enumerate() 是python的内置函数,将一个可遍历iterable数据对象(如list列表、tuple元组或str字符串)组合为一个索引序列,同时列出数据和数据下标(自定义,默认为0),一般用在for循环当中。
    语法: enumerate(sequence, [start=0])
lis=['world',123,11,'hello']
print(lis)

lis2=list('hello')
lis3=list(range(1,10,2))
print(lis2,lis3)

for index,item in enumerate(lis3,start=1):
    print(index,item)

在这里插入图片描述

3.列表的操作–增删改查

在这里插入图片描述

remove(item)方法和pop(index)方法的区别:

remove(item)方法是直接对可变序中的元素进行检索删除,直接删除列标中的第一个item,不返回删除值(返回None)
pop(index)方法是对可变序列中元素下标进行检索删除,返回删除值

4.列表的排序
在这里插入图片描述

sort排序是在原列表位置进行,不会更改和复制新的,sorted需要新对象

lis3.sort()
print(lis3)

new_list3=sorted(lis3,reverse=True)
print(new_list3)

#[1, 3, 5, 7, 9]
#[9, 7, 5, 3, 1]
  1. 列表生成式
    在这里插入图片描述
lis4=[i for i in range(1,10) if i%2==0]
print(lis4)  #[2, 4, 6, 8]

6.多维数组

lis5=[ 
    ['world',123,11,'hello'],
    ['world',123,11,'hello'],
    ['world',123,11,'hello'],
     ]
print(lis5)

lis6=[[for j in range(5)] for i in range(4) if i%2==0]  #五列四行

for row in lis5:
    for item in row:
        print(item,end='\t')
    print()

元组tuple----不可变数据类型——没有增删改查等操作,只能获取和遍历

  1. 如果元组中只有一个元素,用t=tuple(1)创建后,这个1十一个int类型而不是元组类型,需要加一个,例如t=tuple(1,)
    同样可以用enumerate()来枚举获得index和item
    在这里插入图片描述
t=('niu',12,34)
print(t[0])

t2=t[0:2]       #可以切片
print(t2)
for i in t:
    print(i)

结果:
niu
(‘niu’, 12)
niu
12
34

  1. 元组生成式
t = (i for i in range(100)) 

生成的t是一个生成器对象<generator object <genexpr> at 0x00000285C4196D40>遍历过一遍后对象就不存在元素了,它不是一个元组类型

生成器对象是一种延迟计算的序列,它会在需要时逐个产生值。这与列表、元组等容器对象不同,后者会在创建时就将所有的元素都存储在内存中。
生成器对象的优点在于它可以大大减少内存的使用。当处理大量数据时,使用生成器对象可以避免一次性读取所有数据到内存中,而是逐个读取并处理每个元素,从而节省内存空间。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值