Python中的list和tuple

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

一.list(列表)和tuple(元组)共同点和区别


共同点:都是一种序列的形式,可以储存不同类型的数据

区别:1.列表是动态数组,它们可变且可以重设长度(改变其内部元素的个数)。

        2. 元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。

二.定义一个变量,包含现在所学的数据类型

ist_data = [1, 1.2, b'123', True, None, 1+2j, 'az', (6, 6, 6), [1, 2]]
print(list_data, type(list_data))


输出:

[1, 1.2, b'123', True, None, (1+2j), 'az', (6, 6, 6), [1, 2]] <class 'list'>


三.目前学到的序列有哪些?


字符串str;字节bytes;元组tuple;列表list

1.将除tuple之外的序列转换为tuple

str_data = '12'
bytes_data = b'123'
list_data = [1, 2]
tuple_data1 = tuple(str_data)
tuple_data2 = tuple(bytes_data)
tuple_data3 = tuple(list_data)
print(tuple_data1, type(tuple_data1))
print(tuple_data2, type(tuple_data2))
print(tuple_data3, type(tuple_data3))


输出:

('1', '2') <class 'tuple'>
(49, 50,51) <class 'tuple'>
(1, 2) <class 'tuple'>


2.将除list之外的序列转换为list

str_data = '12'
bytes_data = b'123'
tuple_data = (1, 2)
list_data1 = list(str_data)
list_data2 = list(bytes_data)
list_data3 = list(tuple_data)
print(list_data1, type(list_data1))
print(list_data2, type(list_data2))
print(list_data3, type(list_data3))


输出:

['1', '2'] <class 'list'>
[49,50,51] <class 'list'>
[1, 2] <class 'list'>


四.tuple中有哪些操作方法


count(self, value, /)
      Return number of occurrences of value.
      #统计出现的次数
 index(self, value, start=0, stop=9223372036854775807, /)
      Return first index of value.

     #返回第一个的索引(索引:从0开始)

输入:

tuple_data = tuple("hello")
print(tuple_data.count("l"))
print(tuple_data.index("l"))


输出

2
2


元组是固定且不可改变的。这意味着一旦元组被创建,和列表不同,它的内容无法被修改或它的大小也无法被改变。

>>> tuple_data = (1, 2, 3, 4)
>>> tuple_data[0] = 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment


五.list中有哪些操作方法
 

def append(self, *args, **kwargs):
    """ Append object to the end of the list. """
    # 将对象追加到列表的末尾。
 
def clear(self, *args, **kwargs):
    """ Remove all items from list. """
    # 从列表中删除所有项目。
 
def copy(self, *args, **kwargs):
    """ Return a shallow copy of the list. """
    # 返回列表的浅层副本。
 
def count(self, *args, **kwargs):
    """ Return number of occurrences of value. """
    # 返回值的出现次数。
 
def extend(self, *args, **kwargs):
    """ Extend list by appending elements from the iterable. """
    # 通过从可迭代对象追加元素来扩展列表。
 
def index(self, *args, **kwargs):
    """
    Return first index of value.
    # 返回值的第一个索引。
    Raises ValueError if the value is not present.
    """
    # 如果值不存在,则提高值错误。
 
def insert(self, *args, **kwargs):
    """ Insert object before index. """
    # 在索引之前插入对象。
 
def pop(self, *args, **kwargs):
    """
    Remove and return item at index (default last).
    # 删除并返回索引处的项目(默认在后面)。
    Raises IndexError if list is empty or index is out of range.
    """
    # 如果列表为空或索引超出范围,则引发索引错误。
 
 
 
def remove(self, *args, **kwargs):
    """
    Remove first occurrence of value.
    # 删除第一个出现的值。
    Raises ValueError if the value is not present.
    """
    # 如果值不存在,则提高值错误。
 
def reverse(self, *args, **kwargs):
    """ Reverse *IN PLACE*. """
    # 反向
 
def sort(self, *args, **kwargs):
    """
    Sort the list in ascending order and return None.
    # 按升序对列表进行排序,并返回 None。
    The sort is in-place (i.e. the list itself is modified) and stable (i.e. the
    order of two equal elements is maintained).
    # 排序是就地的(即列表本身被修改)和稳定的(即保持两个相等元素的顺序)。
    If a key function is given, apply it once to each list item and sort them,
    ascending or descending, according to their function values.
    # 如果给出了一个关键功能,则将其应用于每个列表项一次并对其进行排序,
       升序或降序,根据其函数值。
    The reverse flag can be set to sort in descending order.

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Pythonlisttuple是两种不同的数据类型。 list是可变的,可以对其进行修改、增加、删除元素,使用方括号[]定义。 tuple是不可变的,不能对其进行修改、增加、删除元素,使用小括号()定义。 由于tuple不可变,所以在计算机内存占用空间更小,执行速度更快,适用于安全性要求较高的场合。 ### 回答2: PythonListTuple都是最常用的容器类型。List是一种可变序列,可以添加、删除、修改其的元素,而Tuple是不可变序列,一旦初始化之后,就不能再进行修改。下面从以下几个方面来介绍两者的区别: 1.可变性:List是可变的,可以通过索引、append()、insert()、remove()等方法来增加、删除和修改元素。而Tuple一旦创建,就不能再被修改,只能作为一个整体使用。 2.性能:TupleList更加轻量级,所以在一些对性能要求比较高的场合,如数据解析和函数参数传递,使用Tuple会更好。另外,由于List的可变性,操作List通常会比Tuple更费时间。 3.语法:List使用方括号[]表示,元素之间用逗号分隔;Tuple使用圆括号()表示,元素之间也用逗号分隔。如果只有一个元素的Tuple需要加逗号,否则就会被解释为非序列的类型。例如:tup = (3,);若不加逗号,则会被认为是一个整数类型。 4.用途:在实际开发ListTuple都有各自的用途。List通常用于需要修改的数据集合,例如:记录用户动态的列表以及存储各种可变的数据类型。而Tuple通常用于不可变的数据集合,例如:作为函数的参数传递、记录一组常量数据等。 总体来说,根据自己的需要选择使用List还是Tuple。当需要操作数据以及需要进行数据更改和增加时,应该使用可变的List;当需要保证数据的安全性和固定不变时,应该使用不可变的Tuple。 ### 回答3: Pythonlisttuple都是序列类型的数据结构,但它们有以下几个区别: 1. 可修改性:list是可变的,也就是说,它的值可以改变,可以增加、删除或修改元素;而tuple是不可变的,一旦创建就不能改变其的元素。因此,如果需要对一个序列进行大量修改操作,就应该使用list,否则使用tuple会更合适。 2. 容器类型:list可以包含任意类型的对象,包括其他的listtuple,而tuple则可以包含任意类型的对象,包括其他的tuplelist等。 3. 速度:因为tuple是不可变的,所以它的操作速度比list更快,尤其是当操作的元素数量较多时。这是因为Python在处理tuple时,不需要进行内存分配和拷贝操作,而list则需要。 4. 使用场景:由于list可变,所以常用于需要频繁修改元素的情况,例如维护一个动态列表。而tuple不可变,适合用于存储一些不需要修改的常量值、函数参数等,以增加程序的安全性和性能。 总之,两种数据类型都有其各自的优点和适用场景,具体应该根据不同的需求来选择使用。在实际开发,我们会经常使用到这两种类型,需要根据不同的需求进行选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值