python列表元素统计ls,Python中列表操作进阶及元组

列表高级操作

一、遍历列表

>>> ls=['a','d','it']>>> for val in ls:

... print (val)

...

a

d

it

for后面是个冒号,for循环体行首是四个空格,对于python中所有的缩进,都使用四个空格,如果使用编辑器,为了方便,大家可能会使用Tab制表符代替空格,但要设置Tab制表符用四个空格替换,一般编辑器都会有这个功能。

二、创建数值列表

1、使用range方法几乎可以创建任何形式的数值列表,一个简单的示例如下:

>>> for val in range(1,5):

... print (val)

...1

2

3

4

range方法包前不包后,这和很多编程语言的方法类似。

2、虽然上述示例,直接循环可获取到range分配的每个列表中的元素值,但不能将range(1,5)直接赋值给一个变量,需要使用list方法进行转换

直接将range(1,5)赋值给一个变量,输出的结果并非我们想要的列表

>>> myls=range(1,5)>>>myls

range(1, 5)

使用lsit转换成列表

>>> myls=list(range(1,5))>>>myls

[1, 2, 3, 4]

3、使用range也可以指定步长,如生成一个等差为3的等差列表

>>> eqdiffls=list(range(1,50,3))>>>eqdiffls

[1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, 49]

三、列表简单统计计算,如获取最大值,最小值,求和等

>>> countls=list(range(1,10))>>>countls

[1, 2, 3, 4, 5, 6, 7, 8, 9]>>>min(countls)1

>>>max(countls)9

>>> sum(countls)45

四、列表解析

首先明确一下,python中计算平方的格式为val**2,如果要计算2的3次幂可以写成2**3

>>> 4**2

16

>>> 2**3

8

如果要生成一组数的平方值的集合,我们可能需要这么做,如1到4的平方值的列表

>>> squarels=[]>>> for val in range(1,5):

... squarels.append(val**2)

...>>>squarels

[1, 4, 9, 16]

这种方式生成的列表需要四行,有一种方式通过一行代码就可以生成上述所需的列表,这种方式就是列表解析。

>>>del squarels>>> squarels=[val**2 for val in range(1,5)]>>>squarels

[1, 4, 9, 16]

五、列表切片

格式为:list[startIndex:endIndex],同样属于包前不包后操作,切片生成了一个新的列表,但不会对之前的列表元素有任何影响

>>>squarels

[1, 4, 9, 16]>>> squarels[1:3]

[4, 9]

从某个索引位置截取到列表结束位置

>>> squarels[2:]

[9, 16]

从开始位置截取到某个位置

>>> squarels[:2]

[1, 4]

如果startIndex和endIndex都不输入,则相当于复制了一个列表

>>>squarels[:]

[1, 4, 9, 16]

列表复制也可使用copy方法,代码更易阅读

>>>squarels.copy()

[1, 4, 9, 16]

遍历切片,和遍历列表方法一样

>>> for val in squarels[1:3]:

... print (val)

...4

9

元组

元组比较简单,与列表的区别是,初始化时使用小括号(),列表初始化使用中括号[];元组中的元素不能修改,列表中的元素允许修改

一、元组的初始化

元组使用小括号()进行初始化

>>> tup=()>>> tup=(1,2,3)

二、遍历,与列表一致

>>> for val intup:

... print (val)

...1

2

3

三、不能修改元组中变量,修改则报错

>>> tup[1]=1Traceback (most recent calllast):

File"", line 1, in TypeError:'tuple' object does not support item assignment

四。虽然元组中元素不允许修改,但元组本身允许修改

>>> tup=(12)>>> tup=(12,3)>>>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值