python基础的第三天——列表和元组

注意:一下内容都是在 python的自带IDLE shell 完成。

一、比较运算符和位操作符

#比较运算符可以连用
a= 4
3 < a <5
True

a = 0b11001
b = 0b01000
a
25
b
8
c= a|b
c
25
bin(c)
'0b11001'
bin(a&b)
'0b1000'
bin(a^b)
'0b10001'


a= 3
a<<2
12
b =8
b>>2
2


二、列表特点

a = [20,"432",22]
a[1]
'432'
a =[]
a.append(20)
a
[20]
a = list()
a
[]
a = list("jay")
a
['j', 'a', 'y']

a = range(10)
type(a)
<class 'range'>
list(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

#gange()创建整数列表
#ange([start] end [.step])
list(range(0,10,2))
[0, 2, 4, 6, 8]
list(range(3,10,2))
[3, 5, 7, 9]
list(range(20,10,-2))
[20, 18, 16, 14, 12]

a = [x*2 for x in range(5)]
a
[0, 2, 4, 6, 8]

a = [x*2 for x in range(100) if x%9 ==0]
a
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]

三、列表元素的添加

#append()
a = [20,40]
a.append(30)
a
[20, 40, 30]

# extend()
a = [20,40]
id(a)
2834554586624
a.extend[50,60]
a.extend([50,60])
id(a)
2834554586624
a
[20, 40, 50, 60]

#insert())
a = [10,20,30,40]
a.insert(2,100)
a
[10, 20, 100, 30, 40]

四、列表元素的删除

a = [10,20,30,40]
del a[1]
a
[10, 30, 40]


删除的原理:
在这里插入图片描述

a = [10, 20, 100, 30, 40]
b = a.pop()
a
[10, 20, 100, 30]

五、列表元素的访问

1.通过索引访问,略。
2.

a = [10, 20, 100, 30, 40]
a.index(20)
1


a = [10, 20, 100, 30, 40]
10 in a
True

六、列表切片

切片slice操作可以让我们快速提取子列表或修改。标准格式为︰
[起始偏移量start:终止偏移量end[:步长step]]

a = [10,20,30,40,50,60]
a[:]
[10, 20, 30, 40, 50, 60]


a = [10,20,30,40,50,60]
a[1:3:1]
[20, 30]

a = [10,20,30,40,50,60]
a[-3:]
[40, 50, 60]
a[-5:-2]
[20, 30, 40]
a[::-1]
[60, 50, 40, 30, 20, 10]





七、列表排序

# 在原列表的排序
a = [20,10,30,40]
id(a)
2834596994048
a.sort() #默认是升序排列
a
[10, 20, 30, 40]
id(a)
2834596994048


a = [20,10,30,40]
a.sort(reverse=True)
a
[40, 30, 20, 10]


import random
random.shuffle(a)
a
[10, 30, 20, 40]



# 在新列表的排序

a = [20,10,30,40]
id(a)
2834597137792
a = sorted(a)
a
[10, 20, 30, 40]
id(a)
2834591707136


#逆序排列
a = [20,10,30,40]
a[::-1]
[40, 30, 10, 20]
c = reversed(a)
c
<list_reverseiterator object at 0x00000293FB246C20>
list(c)
[40, 30, 10, 20]
list(c)
[]



八、二维列表(难点)

a =[
    ["小二",18,3000,"北京"],["小三",19,3000,"上海"],["小四",20,3000,"深圳"]]
a[0]
['小二', 18, 3000, '北京']
a[0][3]
'北京'

内存结构图
在这里插入图片描述

a =[
    ["小二",18,3000,"北京"],["小三",19,3000,"上海"],["小四",20,3000,"深圳"]]
for m in range(3):
     for n in range(4):
         print(a[m][n],end="\t")
     print()

结果:
小二 18 3000 北京
小三 19 3000 上海
小四 20 3000 深圳

九、元组的特点和创建

元组属于不可变序列,所有操作和列表一样。
总结︰
tuple()可以接收列表、字符串、其他序列类型、迭代器等生成元组。
list()可以接收元组、字符串、其他序列类型、迭代器等生成列表。

a = [10,20,30]
b = [40,50,60]
c = [70,80,90]
d = zip(a,b,c)
d
<zip object at 0x0000028C18564EC0>
list(d)
[(10, 40, 70), (20, 50, 80), (30, 60, 90)]

元组总结
1.元组的核心特点是︰不可变序列。
2.元组的访i问和处理速度比列表快。
3.与整数和字符串一样,元组可以作为字典的键,列表则永远不能作为字典的键使用。

日记

今天比较忙,明天要腾出时间看数学基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值