python基础 --- 元组、字典、集合、字符串

文章目录


前言

【注1】:由于列表是python这五种结构中最复杂的,因此会专门有一篇博客记录。

1 不可变数据与可变数据类型

【注】:在Python中不可变数据类型不能修改,内存中修改是创建新的对象并将引用指向新创建的对象。

不可变数据:

整数
浮点数
字符串
元组:元组内元素可以是任意类型。
布尔值

可变数据类型:

列表:列表内元素可以是任意类型。
集合:由于集合里面元素的唯一性和不可变性,所以要求集合内元素必须是不可变数据类型,类型列表这种就不可以。
字典:(键(key)必须是不可变的类型,而值(value)可以是任意类型。)、
以及大多情况下的object对象


一、元组

1 元组的创建

(1)通过 ()

【注1】:单元素元组必须在元素后加一个逗号,否则会被认为是一个普通的值
【注2】:在 Python 的元组(tuple)中,可以包含几乎所有的数据类型:所有数类型、列表、元组、字典、自定义object等等所有东西都可以作为元组内的元素。

tuple1 = ()    # 空元组
tuple2 = (1,)  # 单元素元组
tuple3 = (1, 2, 3)  # 三元素元组

class Cat:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return 'Cat(name=' + self.name + ', age=' + str(self.age) + ')'
    
cat = Cat('kitty', 2)

tuple4 = (1, 2, 3, cat,[1,2,3],'hello')     # 元组中可以包含任意类型的对象,所有数据类型都可以放入元组中
print(tuple4)          #  (1, 2, 3, <__main__.Cat object at 0x000001FA573EDCD0>, [1, 2, 3], 'hello')

(2)通过 tuple() ---- 将其他数据类型转换成元组

list_to_tuple = tuple([1, 2, 3])
print(list_to_tuple)                # (1, 2, 3)
string_to_tuple = tuple("hello")
print(string_to_tuple)              # ('h', 'e', 'l', 'l', 'o')
empty_tuple = tuple()
print(empty_tuple)                  # ()

2 元组的常用方法和操作

访问和遍历

(1)索引访问
t = (10, 20, 30)
print(t[0])  # 输出 10
print(t[2])  # 输出 30

由于元组不可变,所以下面这种操作在元组里面是会报错的

t[0] = 100  # 报错
(2)切片
t = (1, 2, 3, 4, 5)
print(t[1:3])  # 输出 (2, 3)
print(t[::2])  # 输出 (1, 3, 5)
(3)遍历
t = (10, 20, 30)
for item in t:
    print(item)

元组的操作

(1)连接 +
t1 = (1, 2)
t2 = (3, 4)
t3 = t1 + t2
print(t3)  # 输出 (1, 2, 3, 4)
(2)重复 *
t = (1, 2)
print(t * 3)  # 输出 (1, 2, 1, 2, 1, 2)
(3)成员检查 in
t = (1, 2, 3)
print(2 in t)  # 输出 True
print(5 in t)  # 输出 False
(4)长度 — len()
t = (1, 2, 3)
print(len(t))  # 输出 3
(5)最大值、最小值— max()、min()
t = (1, 2, 3)
print(min(t))  # 输出 1
print(max(t))  # 输出 3
(5)计数和索引 t.count(元素) t.index(元素)
t.count(元素) ---- 返回元素在元组中出现的次数。
t.index(元素) ---- 返回元素在元组中的索引(如果存在)。
t = (1, 2, 3, 2)
print(t.count(2))  # 输出 2
print(t.index(3))  # 输出 2

高级操作

(1)解包

可以将元组中的元素解包到多个变量中。

t = (1, 2, 3)
a, b, c = t
  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值