python:从零开始(三)——运算符,序列,列表,元组

可变字符串

原地修改字符串。io.
eg:

s="hello"
import io
sio=io.springIO(S)
sio.getvalue()

>>> “hello”

基本运算符

1.比较运算符可连用,含义相同。
2.位操作:
eg:

  a=0b11001               #a=25 
  b=0b01000               #b=8
  c=a|b                #c为a或b
  bin(c)   #数字转换成二进制表示
   
  a<<2                #左移一位相当于乘以2,左移两位相当于乘以4,左移三位乘以8,如此类推。

3.加法操作
可用于数字相加,字符串拼接,列表及元素等合并。
4.乘法操作
可用于数字相乘,字符串复制,列表及元素等复制。

运算符优先级

1.乘除优先加减
2.位运算和算术运算>比较运算符>赋值运算符>逻辑运算符

序列

1.常用的序列结构
字符串,列表,元祖,字典,集合
2.用来存放多个值的连续的内存空间,存储的是整数对象的地址。

列表

1.列表:存储任何数目,类型的数据集合。为可变序列

2.常用功能:增加元素,删除元素,访问元素,技术,列表长度。

3.创建方法
(1)基本语法[]创建
eg:

a=[]          #创建空的列表对象
a.append(20)   #为列表增加值

(2)list()创建
可迭代的数据转化成列表
(3)range()创建整数列表
range([start],[end],step)
eg:

 list(range(3,15,2))      #从三到十五,步幅为2
 list(range(-30,15,-2))      #从-30到十五,步幅为-2,倒着数

(4)推导式生成列表
eg:

a=[x*2 for x in range(5)  if x%9==0]    #循环创建多个元素,if过滤元素,
                                         需满足if 条件

运行结果为:a=[0,2,4,6,8]
经常与for循环相结合。

4.列表元素增加
一般在列表的尾部进行操作,中间会降低效率。
(1)append()方法

a=[]          #创建空的列表对象
a.append(20)   #为列表增加值
a
[20]         #运行结果

(2) +运算符操作
不是真的尾部加元素,而是创建新的列表对象
(3) extend方法
在尾部对元素进行扩展,为原地操作,没有新的列表对象产生。
(4) insert()插入元素

a=[1,2,3]
a.insert(2,6)
a
[1,2,6,3]                  #运算结果

(5)乘法扩展
类似于复制

5.列表元素删除
(1)del 删除
删除指定位置的元素,类似于数组的拷贝(insert的方向理解)——每一个数依次拷贝到前一个数中,依次往前挪。
(2)pop方法
删除某个位置的元素并返回指定位置,未指定则会默认最后一个元素进行删除。
(3)remove()方法
删除首次出现的指定元素,不存在则为异常(not in list)。

6.列表元素访问
(1)通过索引访问
指定位置进行索引。
(2)index()获得指定元素在列表中首次出现的索引
可以指定搜索的范围,并用语法:index(value,[start,end])来实现
(3)count()获得指定元素在列表中出现的次数
(4)len()返回长度

7.slice切片操作
快读提取子列表或修改,类比于字符串。
a[起始量:终止量:步幅](包头不包尾)

8.列表排序
(1)修改原列表,不建新列表的排序

a.sort()        #默认升序排列
a.sort(reverse=true)    #降序排列
random.shuffle(a)      #打乱顺序

(2)建新列表的排序
内置函数sorted()进行排序,这个方法返回新列表,不对原列表进行修改。
(3)reversed()返回迭代器
不对原列表做任何修改,只是返回一个逆序排列的迭代器对象。(只可以用一次)

9.多维列表
二维列表可以存储二维,表格的数据。

a=[
      [1,2,3],
      [5,6,9]
  ]                  #表示表格的数据
 a[0][1]
>>>2

打印完整列表:

a=[
	["a",12,13,"haha" ],
	["b",15,19,"dudu" ],
	["c",11,10,"houhou" ],
  ]                         #输入列表信息,为3*4的列表     
for m in range(3):         #获取0,1,2的行列表(第一维)
	for n in range(4):          #获取0,1,2,3列列表(第二维)
		print(a[m][n],end="\t")
	print()        #打印完一行,换行

#注意嵌套(for)与缩进(四个空格或一个tab)

元组

1.为不可变序列,不可修改元组中的元素。可以通过tuple()创建元组。

2.元素的访问与计数
(1)元素不可修改,不支持赋值
(2)类似于列表,但返回的仍然是元组。
(3)只可使用内置函数sorted(tupleObj),并生成新的列表对象。

3.zip
zip(list1,list2,…),将列表合并处理成元组,并返回zip对象。

生成器推导式创建元组

类比于列表对倒是,但是生成的是一个生成器对象。
tuple(s) # 只可用一次。
s.__ next__()#进行迭代时,可取下一个值。不需一次性全部读取。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值