Python基础知识03

 Python基础知识03

目录

一、字符串

二、列表

三、元祖


一、字符串

(一)可变字符串

Python中字符串不可变,不支持原地修改,若原地修改,可使用io.stringIO对象或array模块。

>>> import io
>>> s = "hello,sxt"
>>> sio = io.StringIO(s)
>>> sio
<_io.StringIO object at 0x0000024F5CEB0CA8>
>>> sio.getvalue()
'hello,sxt'
>>> sio.seek(7)
7
>>> sio.write("g")
1
>>> sio.getvalue()
'hello,sgt'

(二)运算符总结_位符操作_优先级问题

1.常见运算符

>>> a = 4
>>> 3<a <10   #关系运算符可以连用
True
>>> a = 0b11001
>>> b = 0b01000
>>> a
25
>>> b
8
>>> c = a|b
>>> c
25
>>> bin(c)    #bin()可以将数字转为二进制表示
'0b11001'
>>> bin(a&b)
'0b1000'
>>> bin(a^b)   #相异为1
'0b10001'
>>> a = 3
>>> a<<2    #左移一次乘以2,右移一次除以2
12

乘法操作本质:复制(字符串、列表、元祖复制)

2.运算符优先级

二、列表

Python的列表大小可变。

(一)列表的创建

1.基本语法创建:a = [10,20,30,40]

2.list()创建

3.range()创建整数列表

>>> a = [10,20,30,40]         #基本语法创建
>>> a = list("hello sxt")     #list()创建
>>> a
['h', 'e', 'l', 'l', 'o', ' ', 's', 'x', 't']
>>> list(range(3,30,3))        #range()创建整数列表
[3, 6, 9, 12, 15, 18, 21, 24, 27]
>>> list(range(0,-20,-1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19]

4.推导式生成列表

>> 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]    #通过if过滤元素
>>> a
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]

(二)列表的增加和删除(最好在末尾增加,会大大提高列表操作效率。)

append():列表尾部添加新元素,不改变id,推荐使用

+运算符:复制创建新的列表对象,改变id,不推荐

extend():原地操作,不改变id

insert():涉及大量元素移动

乘法扩展:生成新列表,多次重复

(三)列表元素的删除

del()(索引):删除指定位置元素

pop()(索引):删除并返回指定位置元素,未指定则默认为最后一个

remove()(元素):删除首次出现的指定元素,不存在则异常

(四)列表元素访问和计数

通过索引直接访问

index():获得指定元素在列表中首次出现的索引

count():获得指定元素在列表中出现的次数

len():返回列表长度

(五)成员资格判断

in

count()

(六)切片操作

(七)列表遍历

>>> for obj in [2,3,4,5]:
	print(obj)

	
2
3
4
5

(八)列表排序

1.修改原列表:

sort()

sort(reverse= True)

 random.shuffle()

>>> a = [20,60,40,10]
>>> id(a)
2539899365960
>>> a.sort()    #默认升序
>>> a
[10, 20, 40, 60]

>>> a.sort(reverse= True)    #降序
>>> a
[60, 40, 20, 10]

>>> import random    #打乱顺序,随机
>>> random.shuffle(a)
>>> a
[60, 20, 10, 40]
>>> random.shuffle(a)
>>> a
[60, 40, 10, 20]

2.建新列表的排序:sorted()

3.reversed()返回迭代器:只能使用一次,遍历结束不能再使用

>>> a = [20,10,30,40]
>>> c = reversed(a)
>>> c
<list_reverseiterator object at 0x0000018B30314F48>
>>> list(c)
[40, 30, 10, 20]
>>> list(c)
[]

4.列表其他内置函数汇总

max()

min()

sum()

(九)多维列表

a = [
    ["高小一",18,30000,"北京"],
    ["高小二" ,19,20000,"上海"],
    ["高小四",20,10000,"深圳"],
    ]
for m in range(3):
    for n in range(4):
        print(a[m][n],end="\t")
    print()    #打印完一行,换行

三、元祖

(一)元祖的创建

1.通过()创建,小括号可省

如果元祖只有一个元素,则必须在后面加逗号

2.tuple()

>>> a = (1)
>>> type(a)
<class 'int'>
>>> a = (1,)
>>> type(a)
<class 'tuple'>
>>> b = tuple()
>>> b = tuple("abc")
>>> b = tuple(range(3))
>>> b = tuple([2,3,4])
>>> b
(2, 3, 4)

※tuple()可以接收列表、字符串、其他序列类型,迭代生成元祖;list()可以接收元祖、字符串、其他序列类型、迭代器等生成列表。

3.生成器推导式创建元祖

>>> s = (x*2 for x in range(5))
>>> s
<generator object <genexpr> at 0x0000027AA33227C8>
>>> tuple(s)
(0, 2, 4, 6, 8)
>>> list(s)
[]
>>> s
<generator object <genexpr> at 0x0000027AA33227C8>
>>> tuple(s)
()
>>> s = (x*2 for x in range(5))
>>> s. __next__()
0
>>> s. __next__()
2
>>> s. __next__()
4
>>> s. __next__()
6

(二)元祖的元素访问和计数

1.元祖的元素不能修改

2.访问同列表

3.sorted():生成新列表对象

(三)zip

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

(四)元祖总结

1.元祖的核心特点:不可变序列;

2.元祖的访问和处理速度比列表快;

3.与整数和字符串一样,元祖可以做字典的键,列表不可以。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值