📜  Python – 更改元组值的数据类型

📅  最后修改于: 2022-05-13 01:54:54.190000             🧑  作者: Mango

Python – 更改元组值的数据类型

有时,在处理记录集时,我们可能会遇到需要对元组的值进行数据类型更改的问题,这些值位于其第二个位置,即值位置。这种问题可能发生在包括数据操作的所有领域。让我们讨论可以执行此任务的某些方式。

Input : test_list = [(44, 5.6), (16, 10)]
Output : [(44, '5.6'), (16, '10')]

Input : test_list = [(44, 5.8)]
Output : [(44, '5.8')]

方法 #1:使用enumerate() + 循环
这是可以解决此问题的蛮力方式。在此,我们通过使用适当的数据类型转换函数将所需的元组索引更改为类型转换来重新分配元组值。

# Python3 code to demonstrate working of 
# Change Datatype of Tuple Values
# Using enumerate() + loop
  
# initializing list
test_list = [(4, 5), (6, 7), (1, 4), (8, 10)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Change Datatype of Tuple Values
# Using enumerate() + loop
# converting to string using str()
for idx, (x, y) in enumerate(test_list):
    test_list[idx] = (x, str(y))
  
# printing result 
print("The converted records : " + str(test_list)) 
输出 :
The original list is : [(4, 5), (6, 7), (1, 4), (8, 10)]
The converted records : [(4, '5'), (6, '7'), (1, '4'), (8, '10')]

方法#2:使用列表推导
上述功能也可以用来解决这个问题。在此,我们执行与上述方法类似的任务,只是以一种线性方式使用列表理解。

# Python3 code to demonstrate working of 
# Change Datatype of Tuple Values
# Using list comprehension
  
# initializing list
test_list = [(4, 5), (6, 7), (1, 4), (8, 10)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Change Datatype of Tuple Values
# Using list comprehension
# converting to string using str()
res = [(x, str(y)) for x, y in test_list]
  
# printing result 
print("The converted records : " + str(res)) 
输出 :
The original list is : [(4, 5), (6, 7), (1, 4), (8, 10)]
The converted records : [(4, '5'), (6, '7'), (1, '4'), (8, '10')]