Python3阻止嵌套列表并显示列表中值的位置/索引
正如标题所示,我从两次拆分中得到一个嵌套列表 “”join无法解决此问题。 我也不知道如何打印列表中单词的位置 目标是拆分选项卡上的id用户文本单词(有效),并打印单词及其在列表中的位置Python3阻止嵌套列表并显示列表中值的位置/索引,python,indexing,nested,Python,Indexing,Nested,正如标题所示,我从两次拆分中得到一个嵌套列表 “”join无法解决此问题。 我也不知道如何打印列表中单词的位置 目标是拆分选项卡上的id用户文本单词(有效),并打印单词及其在列表中的位置 import sys def main(): olist = [] for line in sys.stdin: i,u,t,w = line.split('\t') olist.append(w.split()) print(olist)
import sys
def main():
olist = []
for line in sys.stdin:
i,u,t,w = line.split('\t')
olist.append(w.split())
print(olist)
for num,name in enumerate(olist):
print(num, name)
输出打印(olist):
输出打印(数量、名称):
期望输出=
RT [0]
@AfshinEllian1 [1]
: [2]
Kennelijk [3]
etc如果我正确理解您的问题,这行:
olist.append(w.split())
不是做你想做的事。您需要扩展列表:
olist.extend(w.split())
连接两个列表。无需将其拆分两次,只需通过以下方式直接打印:
import sys
def main():
for line in sys.stdin:
for num, name in enumerate(line.split("\t")):
print("{} [{}]".format(name.strip(), num))
main()
# next line is input line
This is a test
# and the output for it ...
This [0]
is [1]
a [2]
test [3]
如果您想要持续编号,也可以使用此代码。在这里,您可以简单地使用+
-运算符,它将在列表中显示您可能想要的内容
def main():
olist = []
for line in sys.stdin:
olist += [name for name in line.split("\t")]
for num, name in enumerate(olist):
print("{} [{}]".format(name.strip(), num))
所使用的
.strip()
-方法很简单,因为sys.stdin还将捕获行分隔符。您能展示一些所需输出的示例吗?既然嵌套中只有一项,为什么不简单地切换到枚举(olist[0])
?我们不确定您希望从中得到什么样的输出,您忽略了提供适当的输入。添加了所需的输出Hanks,这正是我想要的
import sys
def main():
for line in sys.stdin:
for num, name in enumerate(line.split("\t")):
print("{} [{}]".format(name.strip(), num))
main()
# next line is input line
This is a test
# and the output for it ...
This [0]
is [1]
a [2]
test [3]
def main():
olist = []
for line in sys.stdin:
olist += [name for name in line.split("\t")]
for num, name in enumerate(olist):
print("{} [{}]".format(name.strip(), num))