[英]How do I select specific items from a list in python?
我有多個WAT2_005= ['1317.85 1344.47" spec4 = "4 61 0 9478.0172299001 0.12425255236787 20']
形式的列表。 所有列表中唯一的共同點是數字 0。我需要從列表中獲取的兩個數字恰好出現在所有列表中的數字 0 之后。 例如,在上面提供的列表中,0 之后的兩個數字是9478.0172299001
和0.12425255236787
。 如何創建一個遍歷列表並僅選擇在 0 之后遇到的兩個數字並存儲在新列表中的循環?
因為您的列表是一個字符串,所以您必須先將其拆分。 然后,您可以使用 .index function 來獲取零的索引,只需添加 2 即可獲得其他數字。 這是一個例子:
WAT2_005= ['1317.85 1344.47" spec4 = "4 61 0 9478.0172299001 0.12425255236787 20']
l = WAT2_005[0].split(" ")
index = l.index("0")
values = (l[index +1], l[index +2])
這應該給你你需要的價值觀。 你可以使用任何變量名,我只是做了一些隨機的。
find()
來獲取 0 的索引。然后在這個索引上加 2 來獲取數字的起始 position。 然后我們可以split('')
字符串並創建一個新列表。
WAT2_005= ['1317.85 1344.47" spec4 = "4 61 0 9478.0172299001 0.12425255236787 20']
for element in WAT2_005:
indx = element.find('0')+2
new_str = element[indx:]
lst = list(new_str.split(' '))
print(lst)
您可以首先在“ 0 ”上拆分每個字符串,以捕獲該單獨零之后的部分。 然后在空格上再次拆分以選擇接下來的兩個值並使用 map 將它們轉換為浮點數。
由於您的字符串在一個列表中,我假設您的實際數據中可能有多個這樣的字符串,並且每個字符串都需要一對數字(否則不要將字符串包含在列表中):
WAT2_005=['1317.85 1344.47" spec4 = "4 61 0 9478.0172299001 0.12425255236787 20']
nums = [ [*map(float,S.split(" 0 ",1)[-1].split(" ")[:2])] for S in WAT2_005]
[[9478.0172299001, 0.12425255236787]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.