sorting

嗨,我是Python的新手,我在这么大的时间里需要您的帮助...
m使用Windows
我的问题 :
我需要做的是....我需要将所有值作为输入...不输入代码...
如果有" n'来源".
如果" n"是3 ....我需要服用
说A1 = FREQ1,采样率1
A2 = FREQ2,采样率2
A3 = FREQ 3,采样率3
我需要排序(采样率1,采样率2,采样率3)
并说如果采样率2是最高的,那么我需要打印出corrresponding freq值,即在这种情况下为freq 2.
我的代码:
A1 = [3,2]
A2 = [7,5]
A3 = [56,242]
A4 = [3,146]
t = zip(A1,A2,A3,A4)
打印t
对于我来说,枚举(t)中的inttuple:
t [i] =排序(inttuple)
打印t
#T.Sort()
#print t
打印t [:1]
打印t [1:2]
在此示例中,t [1:2]是按降顺序取样率 - [242,146,5,2]
因此,我只需要打印相应的频率值即
56
请帮助我

# 回答1


只需将FREQ作为密钥和采样率存储在Python词典中:

选择 | 换行 | 行号
  1.  
  2. dic={}
  3.  
  4. dic[3]=2
  5. dic[7]=5
  6. dic[56]=242
  7. dic[3]=146
  8.  
  9.  
  10. # then do the following :
  11.  
  12. a=dic.keys()[dic.values().index(max(dic.values()))]
  13.  
  14. print a
  15.  
  16.  
# 回答2


你好...
这是一个非常简单的代码,可以帮助您.
n = int(raw_input(''no. of lists'))
s = []
对于(n)范围内的我:
l = []
对于J范围(2)的J:
l.append(int(raw_input('enter元素')))
打印l
S.Append(L)
印刷
S.Sort()
#印刷
x = []
对于I范围(0,Len(S)-1):
对于J范围(i+1,len(s)):
如果s [i] [1]
x = s [i]
s [i] = s [j]
s [j] = x
打印S [0] [0]
这是你在问的事情吗?如果不是,请不要介意...
# 回答3


这是一种方法:

选择 | 换行 | 行号
  1. a1 = [3, 2]
  2. a2 = [7, 5]
  3. a3 = [56, 242]
  4. a4 = [3, 146]
  5.  
  6. sampDict = dict(zip([item[1] for item in [a1,a2,a3,a4]], [item[0] for item in [a1,a2,a3,a4]]))
  7.  
  8. max_samp = max(sampDict.keys())
  9. freq = sampDict[max_samp]
  10.  
  11. print "The maximum sampling rate is %d using a frequency of %d." % (max_samp, freq)
  12.  
  13. >>> The maximum sampling rate is 242 using a frequency of 56.

其他:

选择 | 换行 | 行号
  1. >>> zip(a1,a2,a3,a4)
  2. [(3, 7, 56, 3), (2, 5, 242, 146)]
  3. >>> readingsList =[list(tup) for tup in zip(a1,a2,a3,a4)]
  4. >>> max_index = readingsList[1].index(max(readingsList[1]))
  5. >>> print "The maximum sampling rate is %d using a frequency of %d." % (readingsList[1][max_index], readingsList[0][max_index])
  6. The maximum sampling rate is 242 using a frequency of 56.
  7. >>> 
# 回答4


thanx你们所有人... bin有很大的帮助..... thanx很多

标签: python

添加新评论