[英]Converting String element to int inside a tuple in Python
我有一個元組a = (('1414', 'A'), ('1416', 'B'))
並且我需要獲得結果為result = ((1414, 'A'), (1416, 'B'))
。
我嘗試tuple([map(int, x[0]) for x in a])
基於如何在Python中將字符串轉換為整數的 tuple([map(int, x[0]) for x in a])
。 我得到的結果為([1414], [1416])
。 如何將結果保存為具有更改后值的元組,而不是將其列為列表?
使用生成器表達式:
a = (('1414', 'A'), ('1416', 'B'))
result = tuple((int(x[0]), x[1]) for x in a)
使用map
:
azip = list(zip(*a))
out = list(zip(map(int, azip[0]), azip[1]))
您可以在map()
使用lambda,以將元組中的第一個元素轉換為int。
a = (('1414', 'A'), ('1416', 'B'))
result = tuple(map(lambda x: (int(x[0]), x[1]), a))
你可以做 :
print(tuple([(int(i[0]),i[1]) for i in a]))
對於詳細的解決方案:
a = (('1414', 'A'), ('1416', 'B'))
new_list=[]
for i in a:
new_list.append((int(i[0]),i[1]))
print(tuple(new_list))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.