鱼C论坛

 找回密码
 立即注册
查看: 1296|回复: 1

[已解决]str.split问题

[复制链接]
发表于 2023-8-31 20:33:52 | 显示全部楼层 |阅读模式

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

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

x
from tkinter import *
root = Tk()
text = Text(root)
text.insert(INSERT,"l love fishc.com")
text.pack()
start = 1.0
def get(text,index):
    return tuple(map(int,str.split(text.index(index),".")))
while 1:
    pos = text.search("o",start, stopindex=END)
    if not pos:
        break
    else:
        print(get(text,pos))
    start = pos + "+1c"

mainloop()
       
问一下下
def get(text,index):
    return tuple(map(int,str.split(text.index(index),".")))
这一段该作何理解,不是很懂
最佳答案
2023-8-31 20:34:21
这段代码中的函数 get(text, index) 的作用是将文本框 text 中指定位置 index 的行号和列号以元组的形式返回。

具体来说, text.index(index) 返回的是一个字符串,表示文本框中指定位置的索引。例如, 1.0 表示第一行第一个字符的位置。

str.split(text.index(index), ".") 是将索引字符串按照 . 进行分割,返回一个包含分割结果的列表。例如, "1.0".split(".") 返回 ["1", "0"] 。

map(int, str.split(text.index(index), ".")) 将列表中的每个元素转换为整数,返回一个包含转换结果的迭代器。例如, map(int, ["1", "0"]) 返回 <map object at 0x...> 。

最后, tuple(map(int, str.split(text.index(index), "."))) 将迭代器中的元素转换为元组,返回一个包含行号和列号的元组。例如, tuple(<map object at 0x...>) 返回 (1, 0) 。

所以, get(text, pos) 的作用是将文本框 text 中位置 pos 的行号和列号以元组的形式返回。在代码中,这个函数被用于打印每个字符"o"出现的位置的行号和列号。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-8-31 20:34:21 | 显示全部楼层    本楼为最佳答案   
这段代码中的函数 get(text, index) 的作用是将文本框 text 中指定位置 index 的行号和列号以元组的形式返回。

具体来说, text.index(index) 返回的是一个字符串,表示文本框中指定位置的索引。例如, 1.0 表示第一行第一个字符的位置。

str.split(text.index(index), ".") 是将索引字符串按照 . 进行分割,返回一个包含分割结果的列表。例如, "1.0".split(".") 返回 ["1", "0"] 。

map(int, str.split(text.index(index), ".")) 将列表中的每个元素转换为整数,返回一个包含转换结果的迭代器。例如, map(int, ["1", "0"]) 返回 <map object at 0x...> 。

最后, tuple(map(int, str.split(text.index(index), "."))) 将迭代器中的元素转换为元组,返回一个包含行号和列号的元组。例如, tuple(<map object at 0x...>) 返回 (1, 0) 。

所以, get(text, pos) 的作用是将文本框 text 中位置 pos 的行号和列号以元组的形式返回。在代码中,这个函数被用于打印每个字符"o"出现的位置的行号和列号。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-13 16:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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