1) Во-первых, я знаю, что в наборах и словарях нет порядка, этот вопрос меня смущает, и я пытаюсь разобраться в этом, вы можете сказать снизу мои попытки выяснить, как решить проблему. 2) Я знаю, что вопрос выглядит неважно, поэтому заранее извините, не уверен, как сделать здесь более аккуратным, потратил более получаса, пытаясь сделать его в правильном формате et c :-), и это все еще не так, как хотелось бы.
Резюме: Моя трудность заключается в том, что вопрос требует от меня создания словаря со значениями в определенном порядке, чтобы я мог получить ответ на конкретный c ценности. Я могу сделать это без заказа, который он запрашивает, если только я не понял неправильно. * Это вопрос курса, о котором я говорю, я пробовал некоторые вещи, которые не увенчались успехом в соответствии с требуемым ответом:
(если вы не хотите проверять ссылку, ответ, который я получаю код здесь:
{' ': 8, 'e': 8, 'i': 5, 'a': 4, 't': 4, 'l': 3, 'u': 3, 'h': 2, 'n': 2, 's': 2, 'r': 2, 'J': 1, 'c': 1, 'b': 1, 'd': 1, 'g': 1, 'f': 1, 'k': 1, 'm': 1, 'o': 1, 'q': 1, 'p': 1, 'w': 1, 'v': 1, 'y': 1, 'x': 1, 'z': 1})
Строчные и прописные буквы английского алфавита sh должны храниться в виде строковой переменной алфавита.
Рассмотрим предложение «Джим быстро понял, что красивые платья - дорогое удовольствие ». Создайте словарь count_letters с ключами, состоящими из каждой уникальной буквы в предложении, и значениями, состоящими из количества раз, когда каждая буква используется в этом предложении. Считайте буквы верхнего и нижнего регистра в словаре отдельно. *
Какое 3-е значение словаря? Подсказка: помните, что Python имеет нулевой индекс!
мой ответ 1, правильный (ДА, действительно дофамин)
Какое 8-е значение в словаре? Подсказка: помните, что Python имеет нулевой индекс!
3 правильно (УРА, я думаю ... почему это было после многих попыток, глядя на мой ответ, который тогда не имел смысла)
Обратите внимание, что я случайно получил 2-й правильный ответ и не знаю почему.
Очевидно, что порядок ключей в словаре должен быть в {J: value, i: value} Я пробовал счетчик, если вы видите ссылку, которую вы видите в моих первоначальных попытках, которая не дает необходимого ответа, я пробовал set (предложение) и set (алфавит), который обеспечивает следующий «порядок»: {'J', 'a', 'b ',' c ',' d ',' e ',' f ',' g ',' h ',' i ',' k ',' l ',' m ',' n ',' о ',' p ',' q ',' r ',' s ',' t ',' u ',' v ',' w ',' x ',' y ',' z '}
Я пытался несколько дней, часами пробовать что-то безрезультатно, у меня появилась надежда, когда я увидел несколько страниц go, которые из ответа на переполнение стека см. Код ниже, дали мне надежду .... Это действительно работал ОДИН РАЗ в командной строке (J, i, m ...), но по какой-то причине он вернулся к Jabcde ....)
Я также нашел это полезным и очень коротким, но все же у меня проблема с тем, что «порядок» набора остается прежним:
a = sentence
b = dict.fromkeys(a[i], 0)
for i in a[i]:
b[i] += 1
Подсчет количества уникальных букв в строке в Python 3
Вот еще код.
как вы можете видеть, в какой-то момент я пытаюсь принудительно сделать заказ что-то вроде того, что, я не думаю, возможно, чтобы ключ и значение вопроса и ответа были счастливы.
вот еще код: в моих джунглях замешательства.
import string
alphabet = string.ascii_letters
alphabet
sentence = 'Jim quickly realized that the beautiful gowns are expensive'
Python поддерживать порядок на пересечении списков
Это позволяет разместить список в том же порядке, что и предложение. Я использую A как алфавит и B как список Ура !!! Спасибо Kasramvd, но, увы, он работал только в командной строке, когда я изменял порядок (ОДИН РАЗ). Но дал мне надежду продолжать настаивать. Как видите, я закомментировал код на случай, если захочу его использовать. Я использую python3 интерфейс навеса.
a = sentence
b = dict.fromkeys(a[i], 0)
for i in a[i]:
b[i] += 1
#A = set(alphabet)
#A = list(A)
#B = set(sentence)
#B = list(B)
#maybe = set(B)&set(A)
#letter_set = set(A) & set(B)
letter_list = list(letter_set)
common = sorted(set(A).intersection(set(B)) ,key=lambda x:B.index(x))
letter_list = common #it is already a list
count_letters = {}
cnt_lowercase = 0
cnt_uppercase = 0
count = 0
#iterate over the letter_list
for i in range (len(letter_list)-1):
#count matches for each letter of the sentence
for j in range(len(sentence)-1):
gr = letter_list[i] in sentence[j]
print i,j
print("sentence letter : " , letter_list[i], "sentence letter: " + sentence[j])
print gr
if gr == True:
count +=1;
if j == len(sentence)-1:
print("count= " , count)
count_letters[i] = count
print(count_letters)
if j > len(sentence):
print("reached the last letter of the sentence: " , sentence[j])
count = 0
print j
print ("length of the sentence is : " , len(sentence))
print count_letters
print letter_list
common = sorted(set(A).intersection(set(B)) ,key=lambda x:B.index(x))
так что в основном это все еще установлено (A) и установлено (B)
Есть идеи ??? Я слишком упрям, чтобы допустить это go, после этого я просто превращу его в функцию, чтобы я мог ответить на следующий вопрос, поскольку это требуется для гораздо большей строки из более чем 5 строк. Я, вероятно, вернусь, если снова застряну.
надеюсь, что информации было достаточно.