python知识-第二天

列表

1、列表(list)基本使用

列表使用[]来表示,每个元素用英文逗号隔开

列表中的元素是有序的:

支持索引取值

支持切片:切片得到的结果还是一个列表

支持索引取值

列表内的元素可以是任意类型

# 列表可以同时保存多个数据
info = ['小米', 24, True, 3.25]
print(info)

# 列表支持切片   切片取头不取尾
res = info[1:3]
print(res)

# 索引取值   索引是从0开始的
res2 = info[0]
print(res2)

# 列表内的元素可以是任意类型
list1 = ['445', 452, 4.52, ['python', True, 222, 2.65]]
print(list1)

2、列表的增删改查

2.1、添加数据

  • append:往字符串结尾处添加一个元素
  •  insert:往列表中指定索引位置插入元素
  • extend:一次性往列表尾部插入多个元素
# 添加元素------append
list1 = [11, 22, 33, 44, 55]
list1.append(888)
list1.append(666)
print(list1)

# 添加元素------insert
list2 = [1111, 22222, 3333, 444]
list2.insert(2, 'dhdhdh')
print(list2)
list2.insert(0, 'sjjjjjjj')
print(list2)
list2.insert(-1, 'qqq')
print(list2)

# 添加元素------extend   
# 插入的如果是字符串是按照拆分的形式插入
list3 = [11, 22, 33, 44]
list3.extend([88, 99, 555])
list3.extend('ghjj')
print(list3)

2.2、删除数据

  • remove:指定元素进行删除(如果存在多个,只会删除第一个)
  • pop:指定索引进行删除(默认删除最后一个)
  • clear:清空列表中的所有元素
list1 = [111, 222, 333, 111, 444, 555, 666, 777, 888, 999]
list1.remove(111)
print(list1)   #[222, 333, 111, 444, 555, 666, 777, 888, 999]
list1.pop(0)
print(list1)   #[333, 111, 444, 555, 666, 777, 888, 999]
list1.clear()  
print(list1)   #[]

2.3、修改数据

        通过索引指定位置进行修改

list1 = [111, 222, 333, 111, 444, 555, 666, 777, 888, 999]
list1[3] = 'shsjj'
print(list1)      #[111, 222, 333, 'shsjj', 444, 555, 666, 777, 888, 999]

2.4、查找数据

  • 索引取值
  • index:查找元素对应的索引
  • count:统计某个元素的个数
list1 = [111, 222, 333, 111, 444, 555, 666, 111, 777, 888, 999]
# 索引取值
res = list1[-1]
print(res)

# 查找元素对应的索引,查不到会报错
res2 = list1.index(555)
print(res2)

# 统计某个元素的个数
res3 = list1.count(111)
print(res3)


#字符串的index和find方法,find方法找不到会返回-1
res5 = 'sghsjsjkai'.index('a')
res6 = 'sghsjsjki'.find('a')
print(res5)
print(res6)

3、列表的复制和排序

3.1、列表的复制

  • copy:可以用来复制列表

3.2、列表的排序

  • sort:升序,从小到大
  • sort(reverse=True):降序,从大到小
  • reverse:倒序
list1 = [11, 22, 33, 44, 55, 22, 66, 12, 25, 15, 65]
#复制
list2 = list1.copy()
list3 = list1
print(id(list1), list1)
print(id(list2), list2)
print(id(list3), list3)
# 因为list3直接等于list1,所以两者的id是一致的

# 排序
list1.sort()
print('升序的排列是:', list1)
list1.sort(reverse=True)
print('降序的排列是:', list1)

# 倒序
list1.reverse()
print('倒序的排列是:', list1)

# 使用切片进行倒序
res = list1[::-1]
print('切片倒序   :', res)

 

元组

1、元组的基本使用

使用()来表示

元组中可以存放任意数据类型

元组中的元素是有序的

  • 支持索引取值
  • 支持切片

元组中的元素是不可变的(定义了之后,元组内的元素不能进行添加修改删除)

2、元组的查找

  • 通过索引取值
  • index:查找指定的元素索引
  • count:查找某个元素在列表中的个数
list1 = ('hshs', 55, 99, 2.3, 99, 999)
print(list1[-1])
print(list1[1:])
print(list1.index(99))
print(list1.count(99))

列表&字符串&元组

字符串、列表、元组统称为序列类型

序列的共同特征:

  1. 都有索引值,内部元素都是有序的
  2. 支持切片操作
  3. 都可以通过len()去获取元素的个数
  4. 数据类型可以相互转换

数值:

  • 整数:int
  • 浮点数:float
  • 布尔值:bool

序列:

  • 字符串:str
  • 列表:list
  • 元组:tuple
# ----------------------------int和float转化为str-------------------------
num1 = 99
num2 = 1.25
num3 = str(num1)
num4 = str(num2)
print(type(num1), type(num2))    # <class 'int'> <class 'float'>
print(type(num3), type(num4))    # <class 'str'> <class 'str'>

# ----------------------------str转化为int和float-------------------------
str1 = '25'
str2 = '1.25'
str3 = int(str1)
str4 = float(str2)
print(type(str1), type(str2))
print(type(str3), type(str4))

# ----------------------------列表和元组之间的转化-------------------------
# 元组转列表
tuple1 = ('525', 55, 2.35)
list1 = list(tuple1)
print(list1, type(list1))

# 列表转元组
list2 = [222, '2.32', 3.22]
tuple2 = tuple(list2)
print(tuple2, type(tuple2))

字符串和列表之间的转换

内置函数:eval:识别字符串中的有效python表达式(去除字符串两边的引号)

# --------列表转字符串----------
list1 = [11, 22, 33, 44]
s = str(list1)
print(s, type(s))

# ------------字符串转列表-------------
# 内置函数eval:
str2 = '[11, 22, 33, 44]'
str3 = '(11, 22, 33, 44)'
list2 = eval(str2)
print(list2, type(list2))

list3 = eval(str3)
print(list3, type(list3))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值