[英]Tuple values to list - having issues
我到目前為止的代碼:
def parse_measurement(input_value):
split_list = input_value.split()
try:
split_list[0] = int(split_list[0])
except ValueError:
split_list[0] = float(split_list[0])
return split_list
input_text = "3 ft, 5 ft, 8.3 ft"
output = [parse_measurement(s) for s in input_text.split(',')]
print(output)
現在使用上面的代碼,如果我將 input_value 設為:
input_value = "3 ft, 5 ft, 8.3 ft"
output = [[3,'ft'], [5, 'ft'], [8.3, 'ft']]
如何修復該函數,以便我可以將 input_ 值設置為:
input_value = ("3 ft", "5 ft", "8.3 ft")
仍然得到相同的輸出?
謝謝!
我並沒有真正使用元組,所以我將 input_value 替換為列表,我希望它對你沒問題。 編碼:
input_value = ["3 ft", "5 ft", "8.3 ft"]
output = []
for i in range(len(input_value)):
output.append(float(input_value[i].split()[0]))
print(output)
我認為它可以縮短很多,所以這里是縮短的版本:
input_value, output = ["3 ft", "5 ft", "8.3 ft"], []
for i in range(len(input_value)): output.append(float(input_value[i].split()[0]))
print(output)
另外,輸出現在是浮動的,我真的沒有找到解決這個問題的方法。
def parse_measurement(input_value):
split_list = input_value.split()
try:
split_list[0] = int(split_list[0])
except:
split_list[0] = float(split_list[0])
return split_list
input_value = ("3 ft", "5 ft", "8.3 ft")
output = [parse_measurement(s) for s in input_text] # no split to divide string now
print(output)
嘗試這個
def parse_entry(text):
try:
value, unit = text.split()
return (float(value), unit)
except:
return (None, text)
def parse_measurement(input_value):
return tuple([parse_entry(e) for e in input_value])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.