day4_有序序列的基本方法

day4_有序序列的基本方法

有序:字符串(str)、列表(list)、元组(tuple);

无序:集合(set)、字典(dict)。

一、列表(list)

列表是一个可以存放多个值的容器。

定义列表:

​ 列表名 = [数据1,数据2,数据3,. . . ]

1.1 列表元素的多样性

列表里的元素可以是不同类型的数据。

【为了方便使用,一般一个列表只存放一种数据类型】

1.2 列表的切片

以逗号分隔,进行下标计数。

示例:

#创建一个列表
says = ['今天','是','第四天']
print(says)

print(says[1])
print(says[2][1])

'''运行结果:
['今天', '是', '第四天']
是
四
'''

二、列表的基本方法

2.1 列表元素的添加

  • append()方法

    格式:列表名 . append(数据)

    【将新增元素视为一个整体进行添加】

    says = ['今天','是','第四天']
    print(says)
    
    says.append('明天啥也不是')
    print(says)
    
    says.append(['明天','啥也不是'])
    print(says)
    
    '''运行结果:
    ['今天', '是', '第四天']
    ['今天', '是', '第四天', '明天啥也不是']
    ['今天', '是', '第四天', '明天啥也不是', ['明天', '啥也不是']]
    '''
    
  • extend()方法

    格式:列表名 . extend(数据)

    【字符串:拆分成单个字符后添加;列表:拆分成单个列表元素后增加;不能直接添加数值类型】

    says = ['今天','是','第四天']
    print(says)
    
    says.extend('明天啥也不是')
    print(says)
    
    says.extend(['明天','啥也不是'])
    print(says)
    
    '''运行结果:
    ['今天', '是', '第四天']
    ['今天', '是', '第四天', '明', '天', '啥', '也', '不', '是']
    ['今天', '是', '第四天', '明', '天', '啥', '也', '不', '是', '明天', '啥也不是']
    '''
    
  • insert()方法

    格式:列表名 . insert(下标,数据)

    【可以对我们指定的位置进行添加,一个位置只能增加一个元素】

    says = ['今天','是','第四天']
    print(says)
    
    says.insert(1,'真的')
    print(says)
    
    says.insert(1,['真','的'])
    print(says)
    
    '''运行结果:
    ['今天', '是', '第四天']
    ['今天', '真的', '是', '第四天']
    ['今天', ['真', '的'], '是', '第四天']
    '''
    

2.2 列表元素的删除

  • remove()方法

    格式:列表名 . remove(数据)

    【如果有重复数据,只会删除下标值最小的一个】

    says = ['今','天','是','第四','天']
    print(says)
    
    says.remove('是')
    print(says)
    
    says.remove('天')
    print(says)
    
    '''运行结果:
    ['今', '天', '是', '第四', '天']
    ['今', '天', '第四', '天']
    ['今', '第四', '天']
    '''
    
  • pop()方法

    格式:列表名 . pop(下标)

    【若未指定下标,默认删除列表的最后一个元素】

    says = ['今天','是','第四','天']
    print(says)
    
    says.pop(1)
    print(says)
    
    says.pop()
    print(says)
    
    '''运行结果:
    ['今天', '是', '第四','天']
    ['今天', '第四','天']
    ['今天', '第四']
    '''
    
  • clear()方法

    格式:列表名 . clear()

    【删除列表中所有元素】

    says = ['今天','是','第四天']
    print(says)
    
    says.clear()#清空列表
    print(says)
    
    '''运行结果:
    ['今天', '是', '第四天']
    []
    '''
    
  • del 函数

    格式:del 列表名[起始值下标:终点值下标+1:步长]

    【步长为1时,可写成:del 列表名[起始值:终点值];单删一个元素,可写成:del 列表名[下标];】

    says = ['今天','真','的','是','第','四','天']
    print(says)
    
    del says[:4:3]
    print(says)
    
    del says[2:4]
    print(says)
    
    del says[1]
    print(says)
    
    del says#删除列表,一般不这么用
    print(says)
    
    '''运行结果:
    ['今天', '真', '的', '是', '第', '四', '天']
    ['真', '的', '第', '四', '天']
    ['真', '的', '天']
    ['真', '天']
    Traceback (most recent call last):
      File " x x x x x x x x ", line 15, in <module>
        print(says)
    NameError: name 'says' is not defined
    '''
    

2.3 列表元素的修改

  • 单个值的修改

    格式:列表名[下标]=新元素

    【当新增元素为多个时,会以元组的形式进行添加】

    says = ['今天','真的','是','第','四','天']
    print(says)
    
    says[1] = '其实不'
    print(says)
    
    says[1] = '真','的'
    print(says)
    
    '''运行结果:
    ['今天', '真的', '是', '第', '四', '天']
    ['今天', '其实不', '是', '第', '四', '天']
    ['今天', ('真', '的'), '是', '第', '四', '天']
    '''
    
  • 多个值的修改

    格式:列表名[起始值:终点值]=新元素

    【修改文字可少变多、多变少,修改数值必须一对一】

    says = ['今天','真的','是','第','四','天']
    print(says)
    
    says[1:3] = '是'
    print(says)
    
    says[-3:] = ['第四','天']
    print(says)
    
    says[-2:] = ['第四天']
    print(says)
    
    '''运行结果:
    ['今天', '真的', '是', '第', '四', '天']
    ['今天', '是', '第', '四', '天']
    ['今天', '是', '第四', '天']
    ['今天', '是', '第四天']
    '''
    

2.4 列表元素的查询

  • index()方法

    格式:列表名 . index(数据)

    ​ 列表名 . index(数据,起始值,终点值)

    【查询结果为数据的下标值;若有重复数据,则默认为下标值最小的数据】

    says = ['今','天','是','第','四','天']
    
    print(says.index('天'))
    
    print(says.index('天',3,6))#也可不写6,因为6为末位
    
    '''运行结果:
    1
    5
    '''
    
  • count()方法

    格式:列表名 . count(数据)

    【统计元素在列表中出现的次数】

    says = ['今','天','是','第','四','天']
    
    print(says.count('天'))
    
    print(says.count('明'))
    
    '''运行结果:
    2
    0
    '''
    

三、元组(tuple)

元组一经创建,不可修改。

定义元组:

​ 元组名 = (数据1,数据2,数据3,. . . )

【若元组只有一个元素,必须在末尾加上逗号,例:tuple1 =(数据1,)】

says1 = ('今天是第四天')
print(type(says1))

says2 = ('今天是第四天',)
print(type(says2))

'''运行结果:
<class 'str'>
<class 'tuple'>
'''
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在R语言中,可以使用ts()函数来创建时间序列。你可以指定起始时间、结束时间、时间间隔以及数据点的值。以下是一个示例: ``` # 创建一个时间序列,起始时间为2010年1月1日,结束时间为2010年12月31日,时间间隔为月份 ts_data <- ts(data, start = c(2010, 1), end = c(2010, 12), frequency = 12) ``` 在这个示例中,我们创建了一个名为ts_data的时间序列。数据点的值存储在变量data中,起始时间为2010年1月1日,结束时间为2010年12月31日,时间间隔为月份。频率参数设置为12,示每年有12个月。 ### 回答2: 在R语言中,我们可以使用`ts()`函数来按照现有的时间设置时间序列。`ts()`函数的参数`start`和`end`可以指定时间序列的起始和结束时间,`frequency`参数可以指定时间序列的频率。 例如,我们有一组数据从2000年1月到2020年12月的每月销售额,我们可以按照这个时间设置时间序列: ```R # 创建时间序列的起始和结束时间 start <- as.Date("2000-01-01") end <- as.Date("2020-12-01") # 设置时间序列的频率为12个月 frequency <- 12 # 生成时间序列 sales_ts <- ts(data = sales_data, start = start, end = end, frequency = frequency) ``` 在这个例子中,`start`参数指定了时间序列的起始时间,`end`参数指定了时间序列的结束时间,`frequency`参数指定了时间序列的频率为每年12个月。 需要注意的是,时间序列数据必须是有序的,并且以递增的顺序排列。另外,时间序列数据在R中的存储格式通常为`ts`对象,可以方便地进行时间序列分析和预测。 通过以上方法,我们就可以按照现有的时间设置时间序列,从而进行进一步的时间序列分析和建模。 ### 回答3: 在R语言中,我们可以使用多种方法来按照现有的时间设置时间序列。 一种常见的方法是使用`ts()`函数。通过该函数,我们可以将一个向量或矩阵转换为一个时间序列对象。其中,我们需要使用参数`start`和`end`来指定时间序列的起始和结束时间。同时,我们可以使用参数`frequency`来指定时间序列的频率,如每年、每月或每天等。 例如,假设我们有一个包含每天的数据的向量`data`,起始时间为"2021-01-01",结束时间为"2021-12-31"。我们可以使用以下代码将其转换为时间序列对象: ```{r} start_date <- as.Date("2021-01-01") end_date <- as.Date("2021-12-31") data <- c(1, 2, 3, ..., 365) # 包含365个元素的向量 time_series <- ts(data, start = start_date, end = end_date, frequency = 365) ``` 另一种常见的方法是使用`xts`包或`zoo`包。这两个包提供了更多的功能和灵活性,可以帮助我们更方便地管理和处理时间序列数据。通过这些包,我们可以将数据转换为时间序列对象,并基于时间进行索引、切片和计算等操作。 例如,我们可以使用`xts`包将数据转换为一个xts对象: ```{r} library(xts) data <- c(1, 2, 3, ..., 365) # 包含365个元素的向量 dates <- seq(as.Date("2021-01-01"), as.Date("2021-12-31"), by = "day") time_series <- xts(data, order.by = dates) ``` 通过上述方法,在R语言中可以根据现有的时间设置时间序列,以便我们可以方便地进行时间序列分析和预测等任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值