鱼C论坛

 找回密码
 立即注册
查看: 2595|回复: 10

[已解决]元组切片求教

[复制链接]
发表于 2019-11-17 01:26:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. c = 1,2,3,5,6,7,8
  2. print(type(c))
  3. d = (c[0:3] , 4) + c[3:]
  4. print(d)
  5. e = "a","b","c","d","f","g"
  6. f = (e[0:4] , "e") + e[4:]
  7. print(f)
复制代码


  1. C:\Users\jx\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/jx/Desktop/test/list.py
  2. <class 'tuple'>
  3. ((1, 2, 3), 4, 5, 6, 7, 8)
  4. (('a', 'b', 'c', 'd'), 'e', 'f', 'g')

  5. 进程已结束,退出代码0
复制代码

诸位,我想要的效果是 (1,2,3,4,5,6,7,8)也就是说 我并不想在元组中新建一个元组   求教怎么操作以及我的操作出错在哪?我看教程的操作是可以执行的啊
最佳答案
2019-11-17 02:39:38
本帖最后由 jackz007 于 2019-11-17 02:52 编辑
海月清辉 发表于 2019-11-17 02:20
我想把4插入到元组3,5中间呢


        把 4 插到元组 3,5 之间:
  1. c = 1 , 2 , 3 , 5 , 6 , 7 , 8
  2. c = c[: 3] + (4 ,) + c[3 :]
  3. print(c)
复制代码

        下面这样也可以:
  1. a = 4
  2. c = 1 , 2 , 3 , 5 , 6 , 7 , 8
  3. c = c[: 3] + (a ,) + c[3 :]
  4. print(c)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-11-17 02:07:52 | 显示全部楼层
     完全听不懂你的意思,我想,你是想从一个什么东西里提取到 (1 , 2 , 3 , 4 , 5 , 6 , 7 , 8) 这样的元组吧,否则
  1. c = 1 , 2 , 3 , 4 , 5  , 6 , 7 , 8
复制代码

     这条语句不是就已经做到了吗?
     你到底想要什么?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-17 02:20:11 | 显示全部楼层
jackz007 发表于 2019-11-17 02:07
完全听不懂你的意思,我想,你是想从一个什么东西里提取到 (1 , 2 , 3 , 4 , 5 , 6 , 7 , 8) 这样的元 ...

我想把4插入到元组3,5中间呢   
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-17 02:39:38 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2019-11-17 02:52 编辑
海月清辉 发表于 2019-11-17 02:20
我想把4插入到元组3,5中间呢


        把 4 插到元组 3,5 之间:
  1. c = 1 , 2 , 3 , 5 , 6 , 7 , 8
  2. c = c[: 3] + (4 ,) + c[3 :]
  3. print(c)
复制代码

        下面这样也可以:
  1. a = 4
  2. c = 1 , 2 , 3 , 5 , 6 , 7 , 8
  3. c = c[: 3] + (a ,) + c[3 :]
  4. print(c)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-17 08:43:58 | 显示全部楼层
可以转化成列表处理:

  1. c = 1, 2, 3, 5, 6, 7, 8
  2. print(type(c))
  3. tmp = list(c)
  4. tmp.insert(4, 4)
  5. d = tuple(tmp)
  6. print(d)
  7. e = "a", "b", "c", "d", "f", "g"
  8. tmp = list(e)
  9. tmp.insert(4, "e")
  10. f = tuple(tmp)
  11. print(f)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-17 15:07:11 | 显示全部楼层
zltzlt 发表于 2019-11-17 08:43
可以转化成列表处理:
  1. c = 1 , 2 , 3 , 5 , 6 , 7 , 8
  2. print(c[: 3] + (4 ,) + c[3 :])
复制代码



目前我还有疑惑的就是   凭什么我的方法就会变成123成了一个元组组成的元素呢?错在哪里呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-17 15:08:04 | 显示全部楼层
jackz007 发表于 2019-11-17 02:39
把 4 插到元组 3,5 之间:

        下面这样也可以:
  1. c = 1 , 2 , 3 , 5 , 6 , 7 , 8
  2. print(c[: 3] + (4 ,) + c[3 :])
复制代码



目前我还有疑惑的就是   凭什么我的方法就会变成123成了一个元组组成的元素呢?错在哪里呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-17 15:12:48 | 显示全部楼层
海月清辉 发表于 2019-11-17 15:08
目前我还有疑惑的就是   凭什么我的方法就会变成123成了一个元组组成的元素呢?错在哪里呢?

      贴出代码和效果看看呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-17 16:14:07 | 显示全部楼层
jackz007 发表于 2019-11-17 15:12
贴出代码和效果看看呢?

我发帖的有执行的结果的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-17 16:21:29 | 显示全部楼层
海月清辉 发表于 2019-11-17 16:14
我发帖的有执行的结果的

      你的代码已经有了啊,试试下面的代码:
  1. c = 1,2,3,5,6,7,8
  2. print(c)
复制代码

      不正是你所希望的结果吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-17 16:23:52 | 显示全部楼层
  1. c = 1,2,3,5,6,7,8
  2. print(type(c))
  3. d = (c[0:3] , 4) + c[3:]
  4. print(d)


  5. 这是我返回的结果   
  6. ((1, 2, 3), 4, 5, 6, 7, 8)
复制代码

我的疑惑是  为什么123单独成了一个元组了?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-14 08:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表