#python
#python
Вопрос:
Y = [1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1,]
X = [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 ]
Di = []
for number in Y: # as for each number in Y
if number > 0: # and the number if more than 0
if number in X: # compare to the numbers in X
if number not in Di: # when in cases of number found not in X
Di.append(number) # Add to the Di
print("Di",Di) #print the letters Di and the value of the number 1 found
if Di == [1]: # Condition #if the value is equal to 1 print excluded
print("excluded") # Clause #print excluded
else:
print("not excluded")
Вывод
Di --> excludeed #because of digit 5 counting 0
Приведенный выше код взят из программы на python, которая пытается сравнить 1 или 0, где это работает следующим образом: найдите первое значение, равное 0 в списке Y, и сравните его со значением в той же позиции в списке X, и если найдено положительное, исключите, если не найдено отрицательное, перейдите к следующему 0 в спискесписок Y и так далее, когда список завершен и не может исключить любую печать, не исключенную. надеюсь, это имеет смысл, но оно не выполняет свою функцию. если кто-нибудь сможет изменить его для меня с помощью .index, чтобы создать ожидаемую функцию, это сделало бы мою жизнь намного счастливее.
с уважением
Basem
Комментарии:
1. Пожалуйста, поделитесь результатами, которые вы ищете, это помогло бы
Ответ №1:
Y = [1, 1, 0, 1, 0]
X = [0, 0, 1, 0, 0]
def excluder(yVal, xVal):
for count, ele in enumerate(yVal):
print("Current Y list value in this loop cycle:" str(ele))
if yVal[count] > xVal[count]:
print(str(yVal[count]), " is greater in the Y list")
elif yVal[count] < xVal[count]:
print(str(xVal[count]), " is greater in the X list")
else:
print(str(xVal[count]), " X and Y are equal")
excluder(Y, X)
Вывод ниже …. Я включил функцию enumerate, потому что это хороший способ получить количество в цикле без необходимости увеличивать переменную.
Current Y list value in this loop cycle:1
1 is greater in the Y list
Current Y list value in this loop cycle:1
1 is greater in the Y list
Current Y list value in this loop cycle:0
1 is greater in the X list
Current Y list value in this loop cycle:1
1 is greater in the Y list
Current Y list value in this loop cycle:0
0 X and Y are equal
Комментарии:
1. когда я попробовал это, он напечатал «1 больше в списке X», хотя список выглядит следующим образом Y = [1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1,] X = [0, 0, 0, 0,0, 1, 0, 0, 0, 0, 0 ] таким образом, он не должен был ничего исключать, потому что значение 6 в наборе Y равно 1. Другими словами, значение 5 в списке изменилось, код не изменился. спасибо за вашу помощь и содействие.
2. Отличная работа, приятель, я только что добавил or =, и я думаю, что это дает мне ожидаемые результаты, если yVal[count] >= xVal[count]:
3. Я отредактировал код, и теперь логике должно быть легче следовать. Предпочтительно использовать enumerate в python при увеличении, и я также включил пример этого.