列表和字符串的比较:
1,都是序列,有先后顺序
2,列表是可变的,字符串是不可变的
3,列表可以存储任意类型的数,字符串只能存储字符
字符串的文本解析方法:
S.split(sep=None) 将字符串S分隔成字符串列表
s = "welcome to beijing"
words = s.split(" ")
#["welcome","to","beijing"]
S.join(iterable)
>>>L = ["C:","Windows","system32"]
>>>"\\".join(L)
"C:\\Windows\\system32"
将可迭代对象进行拼接,中间用字符串进行分隔
练习:有字符串“hello”,
生成新字符串“h e l l o”和“h-e-l-l-o”
#hello.py
s = "hello"
print(" ".join(s))
print("-",join(s))
元组 tuple
元组是不可改变的序列,同list一样,元组可以存放任意的值
表示方法:
用小括号()括起来。
单个元素括起来后加逗号(,)区别单个对象还是元组
创建空元组
t =() #空元组
t = tuple() #空元组
创建一个非空元组
t = (20,) #含有一个元素的元组
t = 10,
t = (1,2,3)
t = 100, 200, 300
t = "hello"
t = ("1",2,"tree")
创建元组的错误示例:
t = (20)
#序列赋值
x , y = 100 ,200 #x 绑定100,y 绑定200
x , y = (100 ,200) #x 绑定100,y 绑定200
x , y = [100 ,200] #x 绑定100,y 绑定200
x , y = "AB" # 序列赋值
元组的构造(生成)函数
tuple() 生成一个空元组,等同于()
tuple(iterable)用可迭代对象生成一个元组
元组的运算:
算术运算:
+ += * *=
+ 拼接
+= 拼接后对变量赋值
* 生成重复的元组
*= 生成重复的元组并赋值给变量
例:
x = (1,2,3) + (4,5,6)
x += (7,)
比较运算:
< <= > >= == !=
(1,2,3) < (1,2,4)#True
x = (1,2,3)
y = 1,3,2
x != y #True
x == y #False
y > x #True
元组的in / not in 运算符
同字符串和列表的in运算符相同,用于判断一个值是否存在于元组中,存在返回True,不存在返回False
示例:
x = (1,"two",3.1)
2 in x #False
“2” not in x #True
索引 index
等同于字符串的索引规则
元组是不能索引赋值的
切片 slice
等同于字符串的切片规则
元组不能切片赋值
可用于序列的函数总结:
len(x)
max(x)
min(x)
sum(x)
any(x)
all(x)
reversed(seq) 返回反向顺序的迭代器
sorted(iterable,key=None,reverse=False)#False默认是升序,True是降序
返回已排序的列表
例:
s = 'ABC'
r = reversed(s)
for x in reversed(s)
print(x)
>>>
'C'
'B'
'A'
例:
>>> s = "AMCBJ"
>>> sorted(s)
['A', 'B', 'C', 'J', 'M']
元组的方法:
T.index(v[,begin[,end]])
返回对应元素的索引下标,begin为开始索引,end为结束索引(不包含end)
T.count(x) 返回元组中对应元素个数
练习:
1.输入任意一个字符串或数字,判断是否为回文
12321 回文数
ABCDCBA 回文
2.编写程序,获取一个数值,计算并打印其中每个数字的出现的个数
如:输入:2234524
打印如下:
数字2出现3次
数字3出现1次
数字4出现2次
数字5出现1次
答案:
1:
L= list(input("请输入任意一个字符或数字:"))
if L==L[::-1]:
print("是回文")
else:
print("不是回文")
print(L)
2:
s = input("请输入任意一个数值")
for x in range(10):
if str(x) in s:
print(x,"出现",s.count(str(x)),"次")