学习python的第15天

今天是对过往一些略过的知识补充

一.序列相乘

python中,使用数字n*一个序列会生成新的序列,如

输入
list = [None]*5
print(list)
---------------------------
输出
'C语言中文网C语言中文网C语言中文网'

比较特殊的是,列表类型在进行乘法运算时,还可以实现初始化指定长度列表的功能,例如如下代码,将创建一个长度为5的列表

    #列表的创建用 [],后续讲解列表时会详细介绍
    list = [None]*5
    print(list)
----------------------------------
    [None, None, None, None, None]

二.和序列相关的内置函数

函数 	功能
len() 	计算序列的长度,即返回序列中包含多少个元素。
max() 	找出序列中的最大元素。注意,对序列使用 sum() 函数时,做加和操作的必须都是数字,不能是字符或      字符串,否则该函数将抛出异常,因为解释器无法判定是要做连接操作(+ 运算符可以连接两个序列),还是做加和操作。
min() 	找出序列中的最小元素。
list() 	将序列转换为列表。
str() 	将序列转换为字符串。
sum() 	计算元素和。
sorted() 	对元素进行排序。
reversed() 	反向序列中的元素。
enumerate() 	将序列组合为一个索引序列,多用在 for 循环中

给个实例

    #将字符串转换成列表
    list1 = list("hello")
    print(list1)
    #将元组转换成列表
    tuple1 = ('Python', 'Java', 'C++', 'JavaScript')
    list2 = list(tuple1)
    print(list2)
    #将字典转换成列表
    dict1 = {'a':100, 'b':42, 'c':9}
    list3 = list(dict1)
    print(list3)
    #将区间转换成列表
    range1 = range(1, 6)
    list4 = list(range1)
    print(list4)
    #创建空列表
    print(list())

结果为

['h', 'e', 'l', 'l', 'o']
['Python', 'Java', 'C++', 'JavaScript']
['a', 'b', 'c']
[1, 2, 3, 4, 5]
[]

三.列表中extend()方法添加元素

extend方法与append方法不同之处在于,extend()不会把列表和元组作为整体添加,而是把它们包含的元素逐个添加到列表中

    l = ['Python', 'C++', 'Java']
    #追加元素
    l.extend('C')
    print(l)
    #追加元组,元祖被拆分成多个元素
    t = ('JavaScript', 'C#', 'Go')
    l.extend(t)
    print(l)
    #追加列表,列表也被拆分成多个元素
    l.extend(['Ruby', 'SQL'])
    print(l)

结果

['Python', 'C++', 'Java', 'C']
['Python', 'C++', 'Java', 'C', 'JavaScript', 'C#', 'Go']
['Python', 'C++', 'Java', 'C', 'JavaScript', 'C#', 'Go', 'Ruby', 'SQL']

四.list列表修改元素(空切片赋值)

等同于插入一组新元素,如下

    nums = [40, 36, 89, 2, 36, 100, 7]
    #在4个位置插入元素
    nums[4: 4] = [-77, -52.5, 999]
    print(nums)
---------------------------------
    [40, 36, 89, 2, -77, -52.5, 999, 36, 100, 7]

不支持插入单个值,如下就是错误的

nums[4: 4] = -77

倘若使用字符串赋值,python会自动把字符串转化成序列,如下

s = list("Hello")
s[2:4] = "XYZ"
print(s)
-----------------------
['H', 'e', 'X', 'Y', 'Z', 'o']

五.列表查找元素

index()方法

语法格式为

listname.index(obj, start, end)
其中,listname 表示列表名称,obj 表示要查找的元素,start 表示起始位置,end 表示结束位置。

start 和 end 参数用来指定检索范围:

    start 和 end 可以都不写,此时会检索整个列表;
    如果只写 start 不写 end,那么表示检索从 start 到末尾的元素;
    如果 start 和 end 都写,那么表示检索 start 和 end 之间的元素。


index() 方法会返回元素所在列表中的索引值。

 实例

    nums = [40, 36, 89, 2, 36, 100, 7, -20.5, -999]
    #检索列表中的所有元素
    print( nums.index(2) )
    #检索3~7之间的元素
    print( nums.index(100, 3, 7) )
    #检索4之后的元素
    print( nums.index(7, 4) )
    #检索一个不存在的元素
    print( nums.index(55) )

结果为

3
5
6
Traceback (most recent call last):
    File "C:\Users\mozhiyan\Desktop\demo.py", line 9, in <module>
        print( nums.index(55) )
ValueError: 55 is not in list

count()方法,用来统计某个元素在列表中出现的次数

基本语法格式为

listname.count(obj)
其中,listname 代表列表名,obj 表示要统计的元素。

如果 count() 返回 0,就表示列表中不存在该元素,所以 count() 也可以用来判断列表中的某个元素是否存在。

用法实例

    nums = [40, 36, 89, 2, 36, 100, 7, -20.5, 36]
    #统计元素出现的次数
    print("36出现了%d次" % nums.count(36))
    #判断一个元素是否存在
    if nums.count(100):
        print("列表中存在100这个元素")
    else:
        print("列表中不存在100这个元素")

运行结果

36出现了3次
列表中存在100这个元素

六.合并字符串之join方法

使用 join() 方法合并字符串时,它会将列表(或元组)中多个字符串采用固定的分隔符连接在一起。例如,字符串“c.biancheng.net”就可以看做是通过分隔符“.”将 ['c','biancheng','net'] 列表合并为一个字符串的结果。

语法格式如下

newstr = str.join(iterable)

其中各参数的含义是

1.newstr:表示合并后生成的新字符串;
2.str:用于指定合并时的分隔符;
3.iterable:做合并操作的源字符串数据,允许以列表、元组等形式提供。

实例

>>> list = ['c','biancheng','net']
>>> '.'.join(list)
'c.biancheng.net'
-------------------------
>>> dir = '','usr','bin','env'
>>> type(dir)
<class 'tuple'>
>>> '/'.join(dir)
'/usr/bin/env'

七.find()方法

find() 方法用于检索字符串中是否包含目标字符串,如果包含,则返回第一次出现该字符串的索引;反之,则返回 -1。

 注意不包含返回-1!!!!

它的语法格式相对复杂了些

str.find(sub[,start[,end]])
此格式中各参数的含义如下:

    str:表示原字符串;
    sub:表示要检索的目标字符串;
    start:表示开始检索的起始位置。如果不指定,则默认从头开始检索;
    end:表示结束检索的结束位置。如果不指定,则默认一直检索到结尾。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值