python数据类型2

本文详细介绍Python中字符串和列表的基本操作,包括字符串拼接、格式化、查找、替换及列表的创建、增删改查等功能,适用于初学者快速掌握核心概念。

字符串(str)

~字符串相加是做拼接

~字符串格式化

      ~%s %d %f

      ~str.format()

字符串格式转换

name = 'hansen'
age = 18
# hansen 的年龄为18
# print(name, '的年龄为', age, sep='')
'''
%s--str
%d--int
%f--float

'''
print('%s的年龄为%d' % (name, age))  # 需要考虑数据类型,较为麻烦

#format
print('{}的年龄为{}'.format(name,age))  # 括号内容与format里面要一一对应
print('{1}的年龄为{0}'.format(age,name))  # 写反了,利用索引(a0,n1)

#f‘’
print(f'{name}的年龄为{age}')  # f格式可直接填入,但对版本有要求需在python3.6.4以上

字符串的方法

s = 'hello hello pyhton'  # 创建字符串对象

print(s.find('e'))  # 查找e字符的下标,查找最小的下标
# s.rfind--从右边开始查找的下标方式
# 如果没有查找到,则返回-1,并不会报错
print(s.index('b')) # ValueError: substring not found,找不到会报错

# count,计数 (算个数)
print(s.count('o'))  # 计算o这个字符的个数
print(s.count('b'))  # 若查找不到则返回0

# replace
print(s.replace('hello', 'chong', 1))  # 默认全部替换
                # 旧字符   #新字符  count--指定替换次数

# split()
print(s.split(' '))  # 以空格座位分隔符的标志,空格就消失了,返回的是列表

# starswith() endswith()
print(s.startswith('h')) #用以判断是否以h开头,True
print(s.endswith('on'))  # .txt .xls .doc 判断是否以on结尾 也可以判断文件类型

#s.lower--字符串全部转为小写 s.upper--字符串全部转化为大写  用法一致
name = input()
  if name.lower() == 'yes':
      print(name)
      print('Yes')

#strip
s = '@he@llo@'#hello
print(s.strip('@')) #只能删除左右的字符

# isalpha,isdigit,isalnum
s = 'abc3'
print(s.isalpha()) #判断是否全为字符
print(s.isdigit()) #判断是否全为数字
print(s.isalnum()) #判断是否全为数字或者字母,不存在特殊字符,返回值均为bool

#join
s = ['h','e','l','l','o']
print(''.join(s))  #将序列中的元素以指定字符连接生成一个新的字符串

s = 'hello o o python'
li = s.split(' ')  #以空格为分隔符,形成列表
li[2] = 'beautiful'  #将下标为2的字符进行替换
print(' '.join(li))  #形成新的字符串

num = 1234
print('-'.join(num))  # iterable,里面填的参数只能是可迭代的对象,可以单独一个一个取出,可以用下标索引
# 对list、tuple、dict、set、str等类型的数据使用for...in...的循环语法从其中依次拿到数据进行使用,我们把这样的过程称为遍历,也叫迭代。
# 把可以通过for...in...这类语句迭代读取一条数据供我们使用的对象称之为可迭代对象(Iterable)。
num1 = '1234'
print('-'.join(num1)) #1-2-3-4

字节的创建

bt_1 = b'abc'#创建字节
print(type(bt_1))

bt_2 = bytes('abc', encodings='utf-8')
print(bt_2)

bt_1 = b'abc'
print((bt_1[0]))
#bytes-->str
s = bt_1.decode()
print(s[0])

#字符转字节
s = 'hello'
bt_1 = s.encode()
print(bt_1)
print(bt_1[0])#字节

s = 'python 大神'
print(s.encode()) # \x加十六进制的形式呈现  str-->bytes

s = b'python \xe5\xa4\xa7\xe7\xa5\x9e'
#字节转字符
print(s.decode()) #bytes-->str

列表

 ~列表的使用

li = []
print(type(li))

li = ['wx',20,180.3,True,20]
print(li)

# list(iterable) iterable--可迭代对象,可从序列中一个个取出
li = list('123')#-->可直接用list创建列表
print(li)

# 列表的使用
#从0开始,顺序取值
li = [1,2,3]
# print(li[0]) #1
li[0] = 'a' # 可通过下标取值直接更改字符,列表是可变的,可以进行修改,直接取值赋值
print(li) #['a', 2, 3]

li_3 = list('12344567')
#删除
del li_3 #删除了整个类别
print(li_3) #name 'li_3' is not defined

#remove,直接删除是值
li_3.remove('4') # 如果有相同的,删除的是第一个
print(li_3)

#pop
li_3.pop() # 默认删除最后一个,如果传入下标,则根据下标去删除
print(li_3)

~列表的操作

li1 = [1,2,3]
li2 = [4,5,6]
print(li1 + li2)  #5,7,9 ,列表的相加就是列表做拼接
#列表与列表之间不能相乘,相减,相除
#print(li1 * 3) #乘以几,里面重复的元素就是几个

# #成员运算符
li = [1,[2,3],4]
print(2 in li[1])

li = list('123')
print(len(li)) # 返回列表的长度,即列表元素的个数
print(max(li)) # 最大值
print(min(li)) # 最小值

li = [-1,3,6,2,7,8]
#从小到大
li.sort()
print(li) #[1, 2, 3, 6, 7, 8]
#从大到小
li.reverse() #[8, 7, 6, 3, 2, 1],先排序,再将结果进行反转(reverse)
print(li)

li.sort(reverse=False) #可以通过直接reverse进行反转reverse=False

li = [1,2,3,4,5,6,7,8]
print(li[1:4:1]) #[开始的下标:结束的下标:步长],范围左闭右开 (1,2,3)
print(li[1::2])#[2, 4, 6, 8]

li = [1,[2,3],4]
l = li[1]
print(l[1])#可以通过重新赋值进行取值
print(li[1][1])#也可以一步到位取值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猩猩文学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值