元组和range

元组

  • 只读列表,不支持增 删 改;但是元组里的列表可以增删改
  • 元组其实就是通过逗号(,)设定的,和小括号并没有什么必然的关系,所以当元组只有一个元素的时候,需要在元素后加个逗号
  • 存储大量数据,有序、不可变、支持索引
  • 索引 切片 步长
#实例

tu = (12,"SUN",True,[1,2,3])
#查看
print(tu[2])
print(tu[:2])

for i in tu:
    print(i)

#计算有多少个元素
print(len(tu))


#元组的创建,和逗号有关系,和小括号没有必然关系
lst = 1,2,"asd"
print(type(lst))
  • 应用

    • 存储重要数据,防止更改,一般应用在配置文件中使用

    • 元组的拆包,分别赋值

      a,b = (1,2)
      print(a,b)

range

  • 类似列表,自定制范围的数字列表
  • python3和python2的区别
    • python2中默认是列表
    • python3中不是列表,是个可迭代对象,可以用list()转成列表
    • python2中的xrange和python3中的range类似
  • 顾头不顾尾
num = range(10)
print(num)

for i in num:
    print(i)
    
print(num[1]) #也有所引

#0-99
for i in range(1,100):
    print(i)

#0-100所有偶数
for i in range(2,101,2):
    print(i)

#倒着打印100-1
for i in range(100,0,-1):
    print(i)

转载于:https://www.cnblogs.com/os-linux/p/11165957.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的数组类的实现,实现了将列表、元组range对象转换为数组,并能够修改指定位置上的元素值: ```python class Array: def __init__(self, data): if isinstance(data, list): self.__data = data[:] elif isinstance(data, tuple): self.__data = list(data) elif isinstance(data, range): self.__data = list(data) else: raise ValueError("Invalid data type") def __getitem__(self, index): return self.__data[index] def __setitem__(self, index, value): self.__data[index] = value def __len__(self): return len(self.__data) def __str__(self): return str(self.__data) ``` 在上面的代码中,我们定义了一个数组类`Array`,在构造方法中,我们首先判断输入的数据类型,如果是列表、元组range对象,则将其转换为列表,否则抛出异常。我们使用私有属性`__data`来保存列表数据,使用`__getitem__`和`__setitem__`方法来实现数组元素的访问和修改,使用`__len__`方法来返回数组长度,使用`__str__`方法来返回数组的字符串表示。 使用方法如下: ```python a1 = Array([1, 2, 3]) a2 = Array((4, 5, 6)) a3 = Array(range(3)) print(a1) # 输出:[1, 2, 3] print(a2) # 输出:[4, 5, 6] print(a3) # 输出:[0, 1, 2] a1[0] = 0 a2[1] = 1 a3[2] = 2 print(a1) # 输出:[0, 2, 3] print(a2) # 输出:[4, 1, 6] print(a3) # 输出:[0, 1, 2] ``` 在上面的代码中,我们首先创建了三个数组对象`a1`、`a2`和`a3`,分别使用列表、元组range对象作为输入数据。然后我们修改了数组中的某些元素,并使用`print`函数输出数组的字符串表示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值