python学习3:可变序列list,不可变序列tuple、str和其通用操作

序列通用操作
序列分类:可变序列list,不可变序列tuple、str

#序列索引

#索引从0开始
x =[1,2,3]
print(x[0],x[1],x[2])

#下表索引
lst = [1,2,3,4,5,6]
print(lst[0],lst[-1],lst[2])    # 1 6 3
lst[4] = 'hello'               #在lst中的索引4位置上添加一个元素#hello [1, 2, 3, 4, 'hello', 6]
print(lst[4],lst)

#序列链接与重复

lst1 = [1,2]
lst2 = ["a","b"]
print(lst1 + lst2, lst1*2, lst2*2) #[1, 2, 'a', 'b'] [1, 2, 1, 2] ['a', 'b', 'a', 'b']

#切片

lst = [1,2,3,4,5,6]
print(lst[1:3])      #切片可以理解为列表的值区间,是一个左闭右开的区间,lst[1:3]代表:索引1的值-索引2的值
print(lst[1:-1])     #[2, 3, 4, 5]
print(lst[:4])       #[1, 2, 3, 4]
print(lst[2:])       #[3, 4, 5, 6]

#步长

#步长
lst = [1,2,3,4,5,6,7]
print(lst[1:6:2])      #[2, 4, 6]
print(lst[::2])        #范围是从头到尾,步长为2 [1, 3, 5, 7]

#序列的基本内置全局函数

#序列的基本内置全局函数
lst = [1,2,3,3,4,4,5,6,7,8,9,0]
print(len(lst))                   #列表元素个数 12
print(max(lst),min(lst),sum(lst)) #函数 针对数字的列表:取最大值、最小值、求和  9 0 52
print(lst.count(3))               #方法 .count(obj):计算值的出现次数  2
print(lst.index(7))               #.index(obj):从列表里找到某个值的第一个匹配项的索引位置 8

#列表与生成器

#列表与生成器
a = range(5) 
print(a)                   #range(0, 5)
lst = list(range(4,10,2))  #[4, 6, 8]
print(lst)
#书写
a = range(6)       #书写正确
print(list(a))     #[0, 1, 2, 3, 4, 5]
print(a[0],a[5])   #0 5
#b =range(4:7)     书写错误
c = range(4,8)     #书写正确
print(list(c))     #[4, 5, 6, 7]
#位置
lst1 = [1,2,3,[1,2,[1,2,"hello"]]]
print(lst1[3][2][2])               #hello

#可变列表的常用操作

  1. 添加元素
#添加元素:+、.append()、.extend()
name = ['小明', '小红']
print(name + ['团支书'])    #不改变原来的name                            
print(name)
name.append([1,2,3])       #.append改变name
print(name)
m=[3.1,5.5,4,3,77,8]
print(m[2])
#添加多个元素用.extend()方法.注意与.append()区别
name.extend([1,2,3,[1,2,3]])
print(name)

2.删除元素

#删除元素:.remove()、del、.clear()
lst = [1,2,3,4,5,5,3,6,8,0]
lst.remove(5)
print(lst)                                                #.remove()移除列表中某个值的第一个匹配项
del lst[1]
print(lst)                                                # del语句:删除list的相应索引值
lst.clear()
print(lst)                                                #.clear()删除全部

3.插入元素

# 可变列表list常用操作 - 插入元素:x.insert(i,m)
lst = list(range(10))
print(lst)
lst.insert(1,'2',)                # x.insert(i,m)方法:在索引i处插入m
print(lst)
lst.insert(5,[2,4])   
print(lst)

4.复制元素

# 可变列表list常用操作 - 复制元素:
lst = list(range(12))
lst1 = lst
lst1[2] = 'he'
print(lst,lst1)
# lst,lst1指向同一个列表
lst = list(range(10))
lst2 = lst.copy()
lst2[2] ='she'
print(lst,lst2)
# list.copy()方法:复制一个新的列表,lst,lst2指向两个列表(虽然两个列表值相同)

5.排序

# 可变列表list常用操作 - 排序
lst = [1,2,34,23,3,25,12,67]
lst1 = ['adc','dcc','bgf']
lst.sort()
lst1.sort()
print(lst,lst1)
# sort.()默认升序排序/字母顺序
lst.sort(reverse = True)
lst1.sort(reverse = True)
print(lst,lst1)
# 参数reverse:反向排序,针对数字
lst2 = sorted(lst1)
print(lst1,lst2)
# 函数sorted():排序并复制

#元祖tuple

# 讲一讲元祖tuple :不可变的“列表”
tup1 = ('he','she',123,456,[1,23])
tup2 = (1,2,3,4)
tup3 = 1,2,3,'she','he'                          # 可以不加括号
tup4 = (50,)                                     # 元组中只包含一个元素时,需要在元素后面添加逗号
print(tup1,tup2,tup3,type(tup3),tup4)
print(tup1[2],tup3[:2])                          # 索引、切片和list一样
del tup3                                         # 元祖不能单独删除内部元素(不可变性),但可以del语句来删除整个元祖
#print(tup3)
# tuple()函数:将列表转换为元组
lst = list(range(12))
tup5 = tuple(lst)
print(tup5)

#文本序列:字符串

#转义符号
print('\'','\"')           #\'、\":分别输出单引号和双引号
print('hello\nhow do you do?')  #\n:空行
print('\\')                     #输出\,所以文件路径用“/”或者“\\”
#字符串常用功能
st1 = "I'm handsome"
st2 =  st1.replace('handsome','ugly')
print(st1,st2)
#str.replace(old,new,count):修改字符串,count:更改几个
st = "ssddf,ef4,w345,f4f44,rvrggb"
lst = st.split(",")
print(lst,type(lst))
#str.split(obj):拆分字符串,生成列表
m = "-"
st3 = m.join(lst)
print(st3,type(st3))
#str.join():连接字符串,对象为列表
st4 = 'abcdefg'
print(st4.startswith("a"),st4.endswith("f"))
# str.startswith(“str”)  判断是否以“str”开头;str.endswith (“st

1.字符串大小写

st = 'a123kkdJHNw  '
print(st.upper())      #全部大写
print(st.lower())      #全部小写
print(st.swapcase())   #大小写互换
print(st.capitalize()) #首字母大写
print(st.isnumeric())  #如果 string 只包含数字则返回 True,否则返回 False.
print(st.isalpha())    #如果 string 所有字符都是字母则返回 True,否则返回 False
print(st,st.rstrip())     #删除字符末尾的空格

2.格式化字符:在字符串中插入变量

name = "Alice"
tru = "%s is good person"%name
print(tru)                            
# %s 表示我们这里要插入一个变量(字符串)
x = 4
y = 4.2
print("this is %i"%x)
print("this is %f"%y)                 
# %s,s/i/f分别代表插入字符串的源数据类型:整型/字符型/浮点型

# 格式化字符:数字格式化
m = 3.634512
print("m is %f" %m)
print("m is %.2f" %m)                  
# 输出2位小数:%.2f,四舍五入!
print("m is %i" %m)
print("m is %.0f" %m)                 
# 区别:%i 不四舍五入!
print("%+f" %m)                      
# 显示正号,负号根据数字直接显示
print("m is % i" %m)
print("m is % +i" %m)                  
#加空格,空格和正号只能显示一个:显示正号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值