[英]Python3 preventing nested list and show position/index of values in list
如標題所示,我從兩次拆分中得到了一個嵌套列表。
“” .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)
for num,name in enumerate(olist):
print(num, name)
輸出打印(olist):
[['RT', '@AfshinEllian1', ':', 'Kennelijk', 'vinden', 'ze', 'daar', 'aan', 'die', 'gezellige', 'tafel', 'normaal', 'dat', 'steltje', 'barbaren', 'onze', 'grondwettelijke', 'rechten', 'bedreigen', '.', 'Zouden', 'we', 'ook', 'voor', 'andere', 'buitenwettelijke', 'dreigingen', 'moeten', 'capituleren', '?', 'Wat', 'een', 'door', 'ons', 'gesubsidieerde', 'domheid', '!', '#laatop1', '#cartoonwedstrijd']]
輸出打印(數字,名稱):
0 ['RT', '@AfshinEllian1', ':', 'Kennelijk', 'vinden', 'ze', 'daar', 'aan', 'die', 'gezellige', 'tafel', 'normaal', 'dat', 'steltje', 'barbaren', 'onze', 'grondwettelijke', 'rechten', 'bedreigen', '.', 'Zouden', 'we', 'ook', 'voor', 'andere', 'buitenwettelijke', 'dreigingen', 'moeten', 'capituleren', '?', 'Wat', 'een', 'door', 'ons', 'gesubsidieerde', 'domheid', '!', '#laatop1', '#cartoonwedstrijd']
所需的輸出=
RT [0]
@AfshinEllian1 [1]
: [2]
Kennelijk [3]
等等
如果我正確理解您的問題,請執行以下操作:
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還將捕獲行分隔符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.