【问题标题】:I have to put sorted list and sorted array into dictionary我必须将排序列表和排序数组放入字典
【发布时间】:2014-04-28 04:05:23
【问题描述】:

如何将排序列表和数组中的值放入字典中并确定有多少时间数字重复自己?这是我目前的代码。

from numpy import *
from random import *

lista=[]
for x in range(0,20):
    broj=input("Unesi %d broj>>" % (x+1))
    lista.append(broj)
print"Nesortirana lista>>",lista

while True:
    ne=False
    for b in range(0,len(lista)-1):
        if lista[b] > lista[b+1]:
        pomocna=lista[b]
        lista[b]=lista[b+1]
        lista[b+1]=pomocna
        ne=True
if ne == False:
    break
print "Sortirana lista",lista

velicina_polja = 10
polje = array(velicina_polja * [0])
for i in range(0, velicina_polja):
    polje[i] = randrange(1, 11)

print "Nesortirano polje:", polje

ima_promjene = True

while ima_promjene:
    ima_promjene = False
    for i in range(0, velicina_polja - 1):
        if polje[i] > polje[i + 1]:
            polje[i], polje[i + 1] = polje[i + 1], polje[i]
            ima_promjene = True

print "Sortirano polje:", polje

【问题讨论】:

  • 我知道英语可能不是你的第一语言,但你能试着多解释一下你想要做什么以及出了什么问题吗?您似乎正在对两个数据结构进行排序,但我不明白您需要对字典做什么。
  • 我的任务是制作程序。首先我需要在列表中输入 20 个数字并对其进行排序。然后我在数组中输入 10 个随机数并进行排序。对于程序的最后一步,我需要创建一个字典我必须将列表和数组中的所有数字放在其中,然后确定这个特定数字在数组和列表中出现的频率。

标签: arrays list sorting python-2.7


【解决方案1】:

我想你想要这样的东西:

#!/usr/bin/env python
if __name__ == "__main__":
    my_list = [ 1, 2, 3, 3]
    my_dict = {}

    for item in my_list:
        my_dict[item] = my_dict.get(item, 0) + 1
    for key in my_dict.keys():
        print key, ":", my_dict[key]

它将给定键的计数加一。如果键不在字典中,则假定值为零,然后将其递增。
所以上面的例子打印:

1 : 1
2 : 1
3 : 2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 2018-11-25
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多