亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法轉換 Python 列表中項目的值或類型

無法轉換 Python 列表中項目的值或類型

Cats萌萌 2023-05-23 10:41:41
為什么不能更改列表項的類型或值?a = ['3.465759','2.8797','9.23544']for each in a:    print(each)    each = round(float(each),3) + 2    print(a)結果是   ['3.465759', 2.8797, '9.23544']
查看完整描述

4 回答

?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

eacha是在下一次迭代中取下一個值的循環變量。將轉換后的值存儲在另一個列表中。



a = ['3.465759','2.8797','9.23544']

b = []

for each in a:

    print(each)

    each = round(float(each),3) + 2    

    b.append(each)

print(b)

輸出:


3.465759

2.8797

9.23544

[5.466, 4.88, 11.235]

或者


如果你想就地修改列表,那么


a = ['3.465759','2.8797','9.23544']


for i in range(len(a)):

    each = a[i]

    print(each)

    each = round(float(each),3) + 2

    a[i] = each

print(a)

或者


使用列表理解


[round(float(each),3) + 2 for each in a]


查看完整回答
反對 回復 2023-05-23
?
九州編程

TA貢獻1785條經驗 獲得超4個贊

您可以使用地圖:

a?=?['3.465759','2.8797','9.23544']
float_list?=?list(map(float,?a))
print(float_list)

輸出:

[3.465759,?2.8797,?9.23544]


查看完整回答
反對 回復 2023-05-23
?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

a = ['3.465759','2.8797','9.23544']


result = []

for each in a:

    each = round(float(each),3) + 2  

    result.append(each)

print(result)


Output: [5.466, 4.88, 11.235]

這是你想要的?


查看完整回答
反對 回復 2023-05-23
?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

你沒有改變a,當你進行轉換時,請確保更改值:即:


a = ['3.465759','2.8797','9.23544']

for i  in range(len(a)):

    each = a[i]

    print(each)

    each = round(float(each),3) + 2 

    a[i] = each   

print(a)

或者


a = ['3.465759','2.8797','9.23544']

for i, each in enumerate(a):

    print(each)

    each = round(float(each),3) + 2 

    a[i] = each   

print(a)

3.465759

2.8797

9.23544

[5.466, 4.88, 11.235]


查看完整回答
反對 回復 2023-05-23
  • 4 回答
  • 0 關注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號