Python-字符串及列表使用

本文介绍了Python中字符串和列表的使用,包括format方法的三种用法,字符串切片、常见函数,以及列表的增删改查操作。详细讲解了字符串的find、replace、split等方法,以及列表的append、extend、insert、remove等方法。此外,还涉及列表的索引、切片和排序等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

format使用

1.通过位置

print(’{0},{1}’.format(‘zhangsan’,20))
print(’{},{}’.format(‘zhangsan’,20))
print(’{0},{1},{0}’.format(‘zhangsan’,20))

2.通过关键字参数

print("{name},{age}".format(age=28,name=“zhangsan”))

3.通过映射list

list = [“zhangsan”,“中国”]
print(‘my name is {0[0]},from {0[1]}’.format(list))

切片

name = “abcdefg”
name[len(name)-1] g
name[-1] g
name[0:3] abc
name[3:5] de
name[2:] cdefg
name[1:-1] bcdef
name[2:0:-1] cb
name[2👎2] ce
name[-1::-1] gfedcba
name[::-1] gfedcba

下标和切片小结

[:] 提取从开头(默认位置0)到结尾的整个字符串
[start:] 从start 提取到结尾
[:end] 从开头提取到end - 1
[start:end] 从start 提取到end - 1
[start🔚step] 从start 提取到end - 1,每step 个字符提取一个
[::-1]逆序

字符串常见函数

mystr = “Hello world and my love”
结构mystr.find()
find():检测字符串是否存在,并显示出找到第一个的下标位置
不存在则显示-1
rfind():从右往左找
mystr.find(“xxxx”,0,100)从哪到哪
index():查找字符串,不存在报错
rindex():
replace():替换字符
mystr.replace(“xxxx”,“XXXXX”,1),1代表替换一个,不写则替换所有
split():分割
mystr.split(" ")以空格为分隔符{不包含空格},变为列表[]
parttion()
mystr.partition(“and”):以and为切割,包含and,生成的是元组()
rparttion()
splitlines():默认使用换行符切割,为列表[]
startswith():检测以什么开头,正确返回True,错误返回False
endswith():以什么结尾
lower():转换为小写
upper():转换为大写
center():居中显示,自己填写数字,例如(30)会生成30个空格
lstrip():删除左边空格,()不用填写
rstrip():删除右边空格
strip():删除所有空格
count():统计字符出现的次数

空格连接

mystr = " "
name = [“Hello”,“world”]
mystr.join(name)
就会变成字符串’Hello world’

_连接

mystr = “_”
mystr.join(name)
‘Hello_world’

将每个单词大写

mystr.title()
‘Hello World’

列表及循环遍历

name = ['张三','李四','赵武']
print(name[0])
print(name[1])
print(name[2])
也可以
i = 0
while i < len(name):
	print(name[i])
	i+=1for i in name:
	print(i)

列表中允许存放各种数据类型(这一点是Python中独有的)
test = [1,“a”,[1,2],(3,4),{“name”:“张三”}]
想要拿2
print(test[2][1])

列表增删改查

列表插入

#append
name = [‘张三’,‘李四’,‘赵武’]
name.append(xxxx)
print(name)

#extend:将两个列表合在一块,如果用append,会把列表加进去而不是元素
name = [‘张三’,‘李四’,‘赵武’]
a_name = [‘罗友’,‘添乱’]
name.extend(a_name)
print(name)

#insert
name.insert(0,“曹操”)
print(name)

列表删除

#del
names = []
del names[1]

#pop删除最后一个元素
names.pop()
print(names)

#remove根据元素的值进行删除
names.remove(“x”)
print(“names”)

更改元素中的值

names[1]=“xxx”
print(names)

#用户自定义更改内容
temp = input(“请输入您要修改的名字:”)
i = names.index(temp)
names[i]=input(“请输入您要修改为何人:”)
print(names)

查找元素内容

“”"
所谓的查找,就是看看指定的元素是否存在
in 和 not in
in 存在的 那么返回结果为True
not in 不存在 ,返回结果为False
“”"

names = [‘刘备’,‘曹操’,‘孙权’,“黄忠”,“魏延”]
find_name = input(“请输入要查找的姓名:”)
if find_name in names:
print(“已经找到:%s”%find_name)
else:
print(“没有找到:%s”%find_name)

print(names.index(“黄忠”))

排序
a = [1,4,7,8,2,3,9]
a.sort():升序
a.reverse():降序,需要先升序在降序
a.sort(reverse=False):升序
a.sort(reverse=True):降序

school_names = [[‘北京大学’,‘清华大学’],[‘南开大学’,‘天津大学’],[‘贵州大学’,‘青海大学’]]
print(school_names)
我想要获取到贵州大学
print(school_names[2][0])

#一个学校,有三个办公室,现在有8位老师等待分配工位,请编写程序,完成随机分配

import random
names = ['刘备','曹操','孙权',"黄忠","魏延","诸葛亮","庞统","周瑜"]
offices = [[],[],[]]
for name in names:
    index = random.randint(0,2)
    offices[index].append(name)

i=1
for office in offices:
    print("办公室%s:共有%s人"%(i,len(office)))
    i+=1
    for name in office:
        print("%s"%name,end="\t")

print("")
print("="*50)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值