Skip to main content
 首页 » 编程设计

python之检查列表是否仅由整数组成

2025年05月04日19zhoujg

我有一个程序

  • 如果列表仅由整数组成,则反转列表的顺序
  • 如果列表仅包含单词,则将列表项转换为大写
  • 如果列表成员不满足这两个条件中的任何一个,则返回相同的列表

我已经写了它,虽然我希望程序循环遍历列表,如果 int 类型的值 -append 并且当字符串类型的下一个值显示原始列表和结束循环时

我认为我的代码我的代码做得不好:

def is_int(val): 
    if type(val) == int: 
        return True 
    else: 
        return False 
 
def is_string(val): 
      if type(val) == str: 
         return True 
      else: 
         return False 
 
def is_float(val): 
    if type(val) == float: 
        return True 
    else: 
        return False 
 
def invert(val): 
    k = len(val) 
 
    for i in range(k//2): 
        a = val[i] 
        val[i] = val[k-1] 
        val[k-1] = a 
 
    print(val) 
 
 
lis = ["a","c",2,7] 
lim = [] 
tart = 1 
for x in lis: 
    if is_int(x) == True and is_int(lis[tart:]) == True: 
        lim.append(x) 
        tart += 1 
    elif is_string(x) == True and is_string(lis[tart:]) == True : 
        x = x.upper() 
        lim.append(x) 
        tart += 1 
    else: 
        print(lis) 
        break 
 
 
invert(lim) 

请您参考如下方法:

你可以用这个 -

all(isinstance(i, int) for i in lis) 

这会给你 True 如果列表的所有元素都是整数,那么你可以修改你的代码来测试字符串和整数

if all(isinstance(i, int) for i in lis): 
    return list(reversed(lis)) # return reversed list 
elif all(isinstance(i, str) for i in lis): 
    return [i.upper() for i in lis] # change to uppercase and return the list 
return lis # return list as is