如果我有以下元组:
("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')]
