2014-11-15 4 views
-2

У меня есть проблема, если у меня есть список строккак определить целое число в списке строк

, например:

token=[aaa,bbb,ccc,ddd,0,eee,40,ggg,5]

, как я могу сделать, чтобы проверить token[i] является ли целое число

я хочу увидеть, если token[i] является целым числом

я положу его в новый список строк по i+1:number

ех если token[4]=0 я положу его в result[5]="5:0"


жаль не объяснить не ясно первый, если у меня есть много данных бывших 39, государство-г, 77516, бакалавры, 13, Никогда не замужем, не замужем, мужчина, 2174, 0, 40, Соединенные Штаты, < = 50K 50, Self-emp-not-inc, 83311, Bachelors, 13, Married-civ -spouse, Exec-managerial, Муж, Белый, Мужской, 0, 0, 13, Соединенные Штаты, < = 50K

второй мне нужно преобразовать эти данные в конкретный номер экс Статс-гов в 2: 1 Self-EMP-не-инк в 2: 2

однако я могу преобразовать строку в число, но я не могу преобразовать число в номер ех если token[4]=0 я положу его в result[5]="5:0"

for line in lines: 
    token=re.split(', ',line) 

    for i in range(0,13,1): 
    try: 
     value = int(token[i]) 

    except ValueError: 
     pass 
    if (token[14] in '<=50K.'): 
     result.append('1') 
    if (token[14] in '>50K.'): 
     result[j].append('2') 
    if (value == true): 
     result.append('i+1:token[i]') 
    if (token[i] in '?'): 
     result.append('i+1:0') 
    if(token[i] in 'State-gov'): 
     result.append("2:1") 
    if(token[i] in 'Self-emp-not-inc'): 
     result.append('2:2') 
+0

Я не думаю, что этот вопрос является дублируется !!! – Kasramvd

+0

Я согласился на 100%, это совершенно другой вопрос. Сначала я подумал: «Что, действительно ли возможно, что Python настолько хромой, что все элементы массива должны быть одного типа, например, оригинального BASIC ??!» Это единственный способ объяснить, почему кто-то может подумать, что вопрос о том, как определить, является ли элемент массива целочисленным, - это тот же вопрос, как проверить, может ли строка быть представлена ​​числом. К счастью, [это не так) (http://stackoverflow.com/q/11387752/1248365). Я голосую, чтобы снова открыть. –

ответ

0

Вы должны использовать isinstance, если вы хотите, чтобы проверить тип записи, и если у вас есть многотипные элементы в списке:

>>> token=['aaa','bbb','ccc','ddd',0,'eee',40,'ggg',5] 
>>> ["{}:{}".format(i,j) for i,j in enumerate(token,1) if isinstance(j,int)] 
['5:0', '7:40', '9:5'] 
+0

, но мне нужно преобразовать aaa -----> 1: 1, например – jackson

+0

@jackson whay? он не содержит цифр? – Kasramvd

+0

Я пытаюсь выполнить data mining Мне нужно преобразовать некоторую информацию на номер ex: U.S.A -----> 10: 1 – jackson

0

функция type, возвращает тип объекта

>>> type(10) 
<type 'int'> 
>>> type("10") 
<type 'str'> 
+1

OP указывает список строк. Кроме того, 'isinstance' обычно предпочитается' type'. – jonrsharpe

+0

Можете ли вы просто объяснить, что я прихожу на python Q – jackson

Смежные вопросы