簡體   English   中英

如何在列表中的某個點之后從字符串中刪除字符?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM