容桂企业网站建设,可以看任何网站的浏览器,平面设计广告公司,如何做网站推广私人第5章 列表 元组 字符串
5.1 列表
一个类似数组的东西
5.1.1 创建列表
一个中括号[ ] 把数据包起来就是创建了
number [1,2,3,4,5]
print(type(number))
#返回 list 类型
for each in number:print(each)
#输出 1 2 3 4 5#列表里不要求都是一个数据类型
mix [213,…第5章 列表 元组 字符串
5.1 列表
一个类似数组的东西
5.1.1 创建列表
一个中括号[ ] 把数据包起来就是创建了
number [1,2,3,4,5]
print(type(number))
#返回 list 类型
for each in number:print(each)
#输出 1 2 3 4 5#列表里不要求都是一个数据类型
mix [213,sada,3.14,[1,2,3]]
#也可以是空的
empty []5.1.2 向列表添加元素
使用 append()方法 添加单个元素末尾添加使用 extend()方法 添加多个元素实际是扩充一个列表进去末尾添加使用 insert()方法 向列表插入元素
number [1,2,3,4,5]
number.append(6)
print(number) # 输出[1,2,3,4,5,6]
number.extend([8,9])
print(number) # 输出[1,2,3,4,5,6,8,9]
number.insert(0,0)
print(number) # 输出[0,1,2,3,4,5,6,8,9]
number.insert(7,7)
print(number) # 输出[0,1,2,3,4,5,6,7,8,9]
number.insert(-1,8.5) # 正数表示和开头的相对位置负数表示和结尾的相对位置
print(number) # 输出[0,1,2,3,4,5,6,7,8,8.5,9]5.1.3 从列表获取元素
通过索引值直接获取num[0] 是第一个元素 num[-1]是最后一个元素交换元素位置写法 num[0],num[3] num[3],num[0] 交换第一个元素和第四个元素位置使用 random.choice() 随机获取一个元素
import random
num [1,2,3,4,5]
print(num[0],num[-1]) # 输出 1 5
num[0],num[3] num[3],num[0]
print(num[0],num[3]) # 输出 4 1
print(random.choice(num)) # 随机输出5.1.4 从列表删除元素
使用remove()方法删除一个指定的元素使用pop()方法根据索引值取出一个元素并删除使用del语句删除元素或者直接删除变量
eggs [鸡蛋,鸭蛋,铁蛋,鹅蛋]
eggs.remove(鸡蛋)
print(eggs) # 输出 [鸭蛋,铁蛋,鹅蛋]
print(eggs.pop(0)) # 输出 鸭蛋 没输入参数的话 默认取出最后一个元素
print(eggs) # 输出 [铁蛋,鹅蛋]
del eggs[0]
print(eggs) # 输出 [鹅蛋]
del eggs
print(eggs) # 已经删除了列表 会报错5.1.5 列表切片
切片语法从列表里取出一部分元素创建一个新的拷贝并返回不影响原列表
list1 [a,b,c,d,e]
print(list1[:2]) # 输出[a,b] 起始位置不填 默认0
print(list1[1:]) # 输出[b,c,d,e] 结束位置不填 默认到最后
print(list1[:]) # 输出[a,b,c,d,e] 都不填 默认全打印5.1.6 切片进阶玩法
增加一个步长如果对切片后的列表操作比如del或者赋值 就是改变原列表了
list1 [1,2,3,4,5,6,7,8,9]
print(list1[0:9:2]) # 输出 [1,3,5,7,9]
print(list1[::2]) # 输出 [1,3,5,7,9]
print(list1[::-1]) # 输出 [9,8,7,6,5,4,3,2,1] 0开始 -1 -2 -3 -4 -5 ...
del list1[0:2]
print(list1) # 输出 [3,4,5,6,7,8,9]
list1[0:2] [1,2]
print(list1) # 输出 [1,2,5,6,7,8,9]5.1.7 列表使用常见操作符
list1 [123]
list2 [234]
print(list1 list2) # 输出 false 一个一个元素比较 有结果直接返回
print(list1 list2) # 输出 [123,234] 和 extend 一个效果
print(list1 * 3) # 输出 [123,123,123]
print(123 in list1) # true 判断元素是否存在列表中
print(234 not in list1) # true#去掉列表中的重复元素
old_list [1,2,2,3,4]
new_list []
for mstr in old_list :if mstr not in new_list :new_list.append(mstr)
print(new_list) # 输出 [1,2,3,4]5.1.8 列表常用方法
print(dir(list)) # 输出list的所有方法和属性list [1,1,2,3,5,8,13,21]
print(list.count(1)) # 输出2 count输出元素在列表出现次数
print(list.index(1)) # 输出0 index输出元素在列表第一次出现的索引
print(list.index(1,1,8)) # 输出1 index 可以设定范围
list.reverse()
print(list) # 输出 [21,13,8,5,3,2,1,1] 翻转列表
list.sort()
print(list) # 输出 [1,1,2,3,5,8,13,21] 排序用的 默认从小到大
list.sort(reverse True)
print(list) # 输出 [21,13,8,5,3,2,1,1] 排序 从大到小 sort(func,key,reverse)5.2 元组
元组就是只读的列表无法修改只能读取
5.2.1 创建和访问元组
创建列表用中括号[ ]元组用小括号( )
tuple (1,2,3,4,5,6) # 创建时 单个元素要带, (520,)这种 或者,不要括号也可以 520,
print(type(tuple)) # 输出 tuple
print(tuple[0]) # 输出 1
print(tuple[3:]) # 输出 (4,5,6)
print(tuple[:5]) # 输出 (1,2,3,4,5)5.2.2 更新和删除元组
元组元素无法修改只能通过切片和其他操作符的操作间接实现
tuple (小鸡,小花,小猪,小狗)
tuple (tuple[0],小猫) tuple[2:] # 建立一个新元组再拼接切片
print(tuple) #输出 (小鸡,小猫,小猪,小狗) 看似都是tuple 但id值不同#删除操作也能用切片拼接实现 del是删除整个元组 一般不用 会自动垃圾回收 其他操作符 也都和列表一样使用5.3 字符串
和C语言的差不多但是’ 和 都可以使用注意必须成对使用字符串也不能修改元素要修改就得切片拼接其他操作符也和列表 元组一样用
str2 一只穿云箭
str2 str2[0] 支 str2[2:]
print(str2) # 输出 一支穿云箭5.3.1 各种BIF
太多了 记不住用得到再查吧跳过注意涉及到字符串修改的 都不修改原字符串 只返回一个新字符串
5.3.2 格式化
#字符串 format
str2 {0} am {1}.format(i,lin) # 位置参数
print(str2) # 输出 i am lin
str2 {a} am {b}.format(ai,blin) # 关键字参数
print(str2) # 输出 i am linstr2 {0},{a} am {1} {b}.format(a,b,ai,blin) # 混合用 format里 位置参数一定要先标注完
print(str2) # 输出 a,i am b linstr2 {0}{1:.2f}.format(圆周率,3.14159) # 后 .2f保留两位小数 浮点
print(str2) # 输出 圆周率3.14 # % 格式化 类型和c语言一样
a %c % 97
print(a) //输出 a ascii码 格式化成字符
str1 i am
str2 lin
print(%s %s % (str1,str2)) # 输出 i am lin 字符串带格式拼接
#字符串拼接 简单用 带格式用上面这个 % 大量数据循环拼接用 字符串的join方法
sstr1 (i,am,lin)
str2
str2 .join(str1)
print(str2) # 输出 i am lin#格式化操作符的一些辅助命令和c差不多 有个 #不一样
print(%#x % 100) # 输出 0x64 八进制前面加 0o 十六进制前面加 0x5.4 序列
上面这些统称为序列这里介绍一些BIF。
list() 把一个迭代对象 转换成列表tuple() 把一个迭代对象 转换成元组str()把一个obj对象转换成字符串len() 返回长度max() 返回最大值数据类型要统一min()返回最小值数据类型要统一sum()返回总和加上参数就是连参数一起求和sorted()排序reversed() 翻转序列 返回一个迭代对象enumerate() 生成一个由迭代参数和对应元素组成的二元组 二元组数量按 最短长度zip()返回多个参数组成的元组二元组数量按 最短长度