鱼C论坛

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

[已解决]元组切片求教

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

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

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

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

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

进程已结束,退出代码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 之间:
c = 1 , 2 , 3 , 5 , 6 , 7 , 8
c = c[: 3] + (4 ,) + c[3 :]
print(c)
        下面这样也可以:
a = 4
c = 1 , 2 , 3 , 5 , 6 , 7 , 8
c = c[: 3] + (a ,) + c[3 :]
print(c)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-11-17 02:07:52 | 显示全部楼层
     完全听不懂你的意思,我想,你是想从一个什么东西里提取到 (1 , 2 , 3 , 4 , 5 , 6 , 7 , 8) 这样的元组吧,否则
c = 1 , 2 , 3 , 4 , 5  , 6 , 7 , 8 
     这条语句不是就已经做到了吗?
     你到底想要什么?
想知道小甲鱼最近在做啥?请访问 -> 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中间呢   
想知道小甲鱼最近在做啥?请访问 -> 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 之间:
c = 1 , 2 , 3 , 5 , 6 , 7 , 8
c = c[: 3] + (4 ,) + c[3 :]
print(c)
        下面这样也可以:
a = 4
c = 1 , 2 , 3 , 5 , 6 , 7 , 8
c = c[: 3] + (a ,) + c[3 :]
print(c)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-17 08:43:58 | 显示全部楼层
可以转化成列表处理:
c = 1, 2, 3, 5, 6, 7, 8
print(type(c))
tmp = list(c)
tmp.insert(4, 4)
d = tuple(tmp)
print(d)
e = "a", "b", "c", "d", "f", "g"
tmp = list(e)
tmp.insert(4, "e")
f = tuple(tmp)
print(f)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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


目前我还有疑惑的就是   凭什么我的方法就会变成123成了一个元组组成的元素呢?错在哪里呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

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


目前我还有疑惑的就是   凭什么我的方法就会变成123成了一个元组组成的元素呢?错在哪里呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

      贴出代码和效果看看呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

我发帖的有执行的结果的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

      你的代码已经有了啊,试试下面的代码:
c = 1,2,3,5,6,7,8
print(c)
      不正是你所希望的结果吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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


这是我返回的结果   
((1, 2, 3), 4, 5, 6, 7, 8)
我的疑惑是  为什么123单独成了一个元组了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 19:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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