[英]How to remove characters from a string after a certain point within a list?
我在列表中有一個字符串列表,我想刪除第十個字符之后的每個字符串中的所有內容。
EX:
['0.04112243,0.04112243,right,4.11%', '0.12733313,0.05733313,right,12.73%', '0.09203131,0.02203131,right,9.2%']
我只需要列表中的前十個整數,其他所有內容都應從中刪除。
產量
['0.04112243', '0.12733313', '0.09203131']
您可以使用列表理解:
original = ['0.04112243,0.04112243,right,4.11%', '0.12733313,0.05733313,right,12.73%', '0.09203131,0.02203131,right,9.2%']
new = [s[:10] for s in original]
輸出:
['0.04112243', '0.12733313', '0.09203131']
如果您想在第一個逗號之前保留所有內容,也可以更加靈活一些:
new = [s.partition(',')[0] for s in original]
您可以訪問類似於數組的字符串字符。
碼:
example = ['0.04112243,0.04112243,right,4.11%', '0.12733313,0.05733313,right,12.73%', '0.09203131,0.02203131,right,9.2%']
for s in example:
print(s[:10])
輸出:
0.04112243
0.12733313
0.09203131
列表理解和字符串切片:
dirty = ['0.04112243,0.04112243,right,4.11%', '0.12733313,0.05733313,right,12.73%', '0.09203131,0.02203131,right,9.2%']
clean = [num[:10] for num in dirty]
Split()創建由指定字符分隔的字符串列表。 考慮到這一點,我將在逗號(,)char上拆分每個字符串,然后將第一個元素附加到列表中。
lst = ['0.04112243,0.04112243,right,4.11%', '0.12733313,0.05733313,right,12.73%', '0.09203131,0.02203131,right,9.2%']
result = []
for i in lst:
result.append(i.split(",")[0])
#Test output
print(result)
這應該以所需的格式返回所需的值! 希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.