我有一個元組,看起來像這樣:元組的.split()和.rstrip()的等價物是什麼?
('1 2130 0 279 90 92 193 1\n', '1 186 0 299 14 36 44 1\n')
,我想它分裂,使每列將是獨立的,所以我可以在一個簡單的方法來訪問它。
因此,對於一個例子:
tuple[0][2]
將返回0
tuple[1][3]
將返回299
我的問題的第二部分是什麼,是的.rstrip()
相當於這樣我就可以擺脫\n
我有一個元組,看起來像這樣:元組的.split()和.rstrip()的等價物是什麼?
('1 2130 0 279 90 92 193 1\n', '1 186 0 299 14 36 44 1\n')
,我想它分裂,使每列將是獨立的,所以我可以在一個簡單的方法來訪問它。
因此,對於一個例子:
tuple[0][2]
將返回0
tuple[1][3]
將返回299
我的問題的第二部分是什麼,是的.rstrip()
相當於這樣我就可以擺脫\n
你可以使用列表理解:
rows = [row.split() for row in your_tuple]
至於.rstrip()
,你不需要它。 .split()
(!不帶參數)需要照顧,對你:
>>> ' a b c \t\n\n '.split()
['a', 'b', 'c']
應用str.split
的元組的每個項目:
>>> tup = ('1 2130 0 279 90 92 193 1\n', '1 186 0 299 14 36 44 1\n')
>>> t = map(str.split, tup)
>>> t
[['1', '2130', '0', '279', '90', '92', '193', '1'], ['1', '186', '0', '299', '14', '36', '44', '1']]
>>> t[0][2]
'0'
>>> t[1][3]
'299'
>>> data = ('1 2130 0 279 90 92 193 1\n', '1 186 0 299 14 36 44 1\n')
>>> [x.split() for x in data]
[['1', '2130', '0', '279', '90', '92', '193', '1'],
['1', '186', '0', '299', '14', '36', '44', '1']]
如果你想整數值:
>>> [[int(y) for y in x.split()] for x in data]
[[1, 2130, 0, 279, 90, 92, 193, 1], [1, 186, 0, 299, 14, 36, 44, 1]]
>>> res = [[int(y) for y in x.split()] for x in data]
>>> res[0][1]
2130
你不想split()
或rstrip()
的t uple。元組中的元素是字符串,並且這些元素是完全可拆分和可剝奪的,所以您想要的是將元素中的每個字符串應用於的簡單方法。 (實際上,你不需要rstrip()
作爲split()
會照顧換行的你。)這是列表內涵進來:
data = ('1 2130 0 279 90 92 193 1\n', '1 186 0 299 14 36 44 1\n')
data = [x.split() for x in data]
現在,這結束了與元組(和它的元素)作爲一個列表。這是罰款的大部分時間,但如果你真的需要它是一個元組,而不是一個列表,試試這個:
data = tuple(tuple(x.split()) for x in data)
使用列表理解:
rows = [row.split() for row in tuple]
您可以使用:
each_item[:-1]
爲了擺脫\n
'''each_item的[: - 1]'''可能會導致問題,如果\ n不會在項目 – oleg