Python 2.7 数组python中的数字和字符串

Python 2.7 数组python中的数字和字符串,python-2.7,Python 2.7,我想做的是从数组中提取数字,然后打印****作为数组中的数字。如果它不是一个数字,那么它将提取字符串的第一个字母,并打印该字母乘以数组的长度。我是python新手,我一直在寻找如何做到这一点。感谢任何帮助 x = [4, "Tom", 1, "Michael", 5, 7, "Jimmy Smith"] for i in x: if "a number": print "*" * i else: print str[:1] .lower() *

我想做的是从数组中提取数字,然后打印****作为数组中的数字。如果它不是一个数字,那么它将提取字符串的第一个字母,并打印该字母乘以数组的长度。我是python新手,我一直在寻找如何做到这一点。感谢任何帮助

x = [4, "Tom", 1, "Michael", 5, 7, "Jimmy Smith"]

for i in x:
    if "a number":
        print "*" * i
    else:
         print str[:1] .lower() * len(str)
Python不知道“数字”是什么意思

搜索看起来像“数字”的字符串。我知道的唯一方法(可能还有更多)是使用该函数

if type(i) == <class 'int'> : 
    print("*" * i)
如果类型(i)=
打印(“*”*i)

这会询问口译员i的类型()并检查是否与您要查找的(=)相同。

问题的完整答案

x = [4, "Tom", 1, "Michael", 5, 7, "Jimmy Smith"]

for i in x:
    if type(i) == int : 
        print("*" * i)
    elif type(i) == str:
        print i[:1].lower() * len(i)

我可以用str-ie-else:type(i)=str:print()做同样的事情吗?不完全可以-else:函数不接受输入。您必须改用elif命令,它是elseif的缩写。代码看起来像
elif type(i)==:
elif type(i)==:打印(测试)这会出现一个错误5开始我想开始数组中的数字的时间,否则是小写时间长度H ok。数倍于星星。更正了解决方案以反映这一点
x = [4, "Tom", 1, "Michael", 5, 7, "Jimmy Smith"]

for i in range(0,len(x),1):
    if isinstance(x[i], (int, long, float, complex)):
        print("*"*x[i])
    else:
        print(x[i][:1].lower() + "*" + str(len(x[i]))) 
x = [4, "Tom", 1, "Michael", 5, 7, "Jimmy Smith"]

for i in x:
    if type(i) == int : 
        print("*" * i)
    elif type(i) == str:
        print i[:1].lower() * len(i)