Skip to main content
 首页 » 编程设计

python之转换元组 Python 中的项目

2025年05月04日15xxx_UU

如果我有以下元组:

("200", "Harry", "50000", "Dog", "jumbo"),("200", "Harry", "50000", "Dog", "jumbo"),    ("200", "Harry", "50000", "Dog", "jumbo") 

我想将所有字符串数字转换为整数,以便我可以正确格式化整数并进行计算,这样我就可以相互比较元组列表,例如打印名称为“harry”的元组我将如何去做?我的变量包含几个元组,它们都有不同的信息,所以我使用了一个 for 循环来迭代并单独打印它们,但这是我得到的。

请您参考如下方法:

将所有字符串数字转换为整数:

>>> a_tuple = ("200", "Harry", "50000", "Dog", "jumbo") 
>>> tuple((int(x) if x.isdigit() else x) for x in a_tuple) 
(200, 'Harry', 50000, 'Dog', 'jumbo') 

找到哈利:

>>> all_tuples = ( 
...     ("200", "Marry", "50000", "Dog", "jumbo"), 
...     ("200", "Harry", "50000", "Dog", "jumbo"), 
...     ("200", "Happy", "50000", "Dog", "jumbo"), 
... ) 

如果名字的位置是固定的(第二项):

>>> [t for t in all_tuples if t[1] == 'Harry'] 
[('200', 'Harry', '50000', 'Dog', 'jumbo')] 

如果位置不固定:

>>> [t for t in all_tuples if 'Harry' in t] 
[('200', 'Harry', '50000', 'Dog', 'jumbo')]