Python学习2021/7/14(字符串)

1.基本操作

1.1表示

一般:Python中的字符串用一对单引号(’ ')或一对双引号(" ")括起来
特殊:三重引号表示→保留所有字符串的格式信息

>>> '''python
is 'a' language'''
"python\nis 'a' language"

1.2创建

赋值运算符=str()函数

>>> str1="Hello"
>>> str1
'Hello'
>>> str2='Program \"Python\"'
>>> str2
'Program "Python"'
>>> str3=str()  # 空字符串
>>>> str3
''

1.3元素读取

字符名[索引]

>>> str1[0]
'H'
>>> str1[-1]
'o'

1.4切片

字符串名[开始索引:结束索引:步长]

>>> str="Python Program"
>>> str[0:5:2]
'Pto'
>>> str[:]
'Python Program'
>>> str[-1:-20]
''
>>> str[-1:-20:-1]
'margorP nohtyP'

1.5连接

运算符+,数字类型需要用str()函数转换

print("python"+str(3))
# 输出结果:python3

1.6重复运算

运算符*

>>> 3*"hello"
'hellohellohello'
>>> "hello"*2
'hellohello'

1.7比较

使用关系运算符进行比较(基于ASCII码值)空字符串最小

>>> "a"=="A"
False
>>> "ab"<"c"
True

1.8成员运算

使用运算符innot in字符串1 [not ]in 字符串2

>>> "ab" in "acbdab"
True

2.字符串常用函数及其应用

2.1子串查找

使用find方法:str.find(substr[,start[,end]])
返回第一次的位置(首位字符所在索引),若无,则返回-1

>>> str="beijing,xi'an,tianjin,beijing,chongqing"
>>> str.find('beijing')
0
>>> str.find('beijing',2)
22
>>> str.find('beijing',2,25)
-1

2.2替换

str.replace(old,new(,max))
max指替换次数,若无,则默认全部替换

>>> str="This is a pen, isn't it?"
>>> str.replace('is','was')
"Thwas was a pen, wasn't it?"
>>> str.replace('is','was',1)
"Thwas is a pen, isn't it?"
>>> str.replace('is','was',2)
"Thwas was a pen, isn't it?"

2.3分离

str.split()
以括号内字符作为分隔符,将单个字符串分为多个;若无,则按空格拆分

>>> str="beijing,xi'an,tianjin,beijing,chongqing"
>>> str
"beijing,xi'an,tianjin,beijing,chongqing"
>>> str.split(',')
['beijing', "xi'an", 'tianjin', 'beijing', 'chongqing']
>>> str.split('a')
["beijing,xi'", 'n,ti', 'njin,beijing,chongqing']

2.4连接

sep.join(sequence)

["beijing,xi'", 'n,ti', 'njin,beijing,chongqing']
>>> str1=['beijing', "xi'an", 'tianjin', 'beijing', 'chongqing']
>>> sep="-->"
>>> sep.join(str1)
"beijing-->xi'an-->tianjin-->beijing-->chongqing"

2.5字符串常用方法

字符串常用方法

2.6应用举例

从键盘输入一行字符,分别统计其中英文字母、空格、数字和其它字符的个数

a=list(input('请输入一行字符:'))
letter=[]
space=[]
number=[]
other=[]
for i in range(len(a)):
    if ord(a[i]) in range(65,90) or ord(a[i]) in range(97,122):
        letter.append(a[i])
    elif a[i] == ' ':
        space.append(' ')
    elif ord(a[i]) in range(48,58):
        number.append(a[i])
    else:
        other.append(a[i])
print("英文字母:%s"%len(letter))
print("空格:%s"%len(space))
print("数字:%s"%len(number))
print("其他:%s"%len(other))

输出结果:

请输入一行字符:a1 32jc$
英文字母:3
空格:1
数字:3
其他:1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值