鱼C论坛

 找回密码
 立即注册
查看: 3073|回复: 8

关于split()的用法求教

[复制链接]
发表于 2014-9-23 23:15:26 | 显示全部楼层 |阅读模式

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

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

x
circle文件是例如:1  2  3   的n行3列文件
f = open('c:\\temp\\circle.txt')
data1 = []
data2 = []
data3 = []

for i in f:
   (tmp1,tmp2,tmp3) = i.split(' ')
   data1.append(tmp1)
   data2.append(tmp2)
   data3.append(tmp3)
f.close()

在这个程序里面,我不明白的是为什么切片后,每行的 1 2 3可以自动赋值给 tmp1 tmp2 tmp3
(tmp1,tmp2,tmp3) = i.split(' ') 这个是固定的格式吗?我知道i,split()是按照空格切片并返回一个列表,列表的每一个元素可以依次对应tmp1,tmp2,tmp3?
(tmp1,tmp2,tmp3)  代表是一个元组吗?

新手赐教,谢谢了


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-9-24 09:56:10 | 显示全部楼层
看看
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-9-24 09:56:42 | 显示全部楼层
再看看

评分

参与人数 1荣誉 -2 鱼币 -4 收起 理由
bevin -2 -4

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-24 09:58:45 | 显示全部楼层

回帖奖励 +5 鱼币

{:1_1:}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-9-24 10:20:20 | 显示全部楼层
a = '1@2'
b = a.split('@') 并不一定是空格才可以划分。b这时候返回了一个列表 360截图20140924094347446.jpg

换一种形式 (b,c) = a.split('@')
b返回'1',c返回'2'。但是多一个就不行了,因为它就返回了2个值。
(b,c)应该就是元组了,换成列表也一样适用。
[b,c] = a.split('@') 360截图20140924101255210.jpg

b和c应该就理解成索引了。 360截图20140924101816736.jpg

每次他都返回一个列表,组合起来(tmp1,tmp2,tmp3) tmp1就是列表的第0个元素,多少行就执行多少次,所以就出现了那样的分割了。

有啥不对还请指正。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-24 12:43:11 | 显示全部楼层
python是允许这样赋值的:
W06J}~RJ2E_FJ``[3OA_$SW.jpg

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2014-9-25 19:12:05 | 显示全部楼层
  1. >>> i = 7,8,9
  2. >>> i
  3. (7, 8, 9)
  4. >>> [i,j,k] = i
  5. >>> i
  6. 7
  7. >>> j
  8. 8
  9. >>> k
  10. 9
  11. >>>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-26 19:18:13 | 显示全部楼层
也来这里学习学洗啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-27 01:28:10 | 显示全部楼层
期待大侠的指教
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-16 07:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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