X



くだすれPython(超初心者用) その36
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2018/01/01(月) 20:18:42.82ID:iOcRvNll
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その35
http://mevius.5ch.net/test/read.cgi/tech/1496411341/
VIPQ2_EXTDAT: checked:default:1000:512:----: EXT was configured
0003デフォルトの名無しさん
垢版 |
2018/01/02(火) 13:25:06.82ID:Y/4ObyK1
test
0005遊園地
垢版 |
2018/01/02(火) 17:37:19.22ID:aDk8COb7
ブレークスルーではなくブレークダウンだったから。
0006遊園地
垢版 |
2018/01/02(火) 17:40:33.65ID:aDk8COb7
「意見は論理的な考えによって形作られ,客観的な考え方が唯一の考え方」で有る。
0008デフォルトの名無しさん
垢版 |
2018/01/04(木) 12:30:44.63ID:o7CttU7P
2018年01月03日 11時16分00秒
Intelのプロセッサチップに根本的な設計上の欠陥が発覚、各OSにアップデートの必要性
http://gigazine.net/news/20180103-intel-processor-design-flaw/

ここ10年間に製造されたIntelのプロセッサに、設計上の欠陥が見つかりました。
最悪の場合、パスワードやログインキー、
キャッシュファイルなどが格納されたカーネルメモリーの内容を読み取られる恐れが
あるとのことなのですが、Intel x86ハードウェアに存在する欠陥のため、
マイクロコードアップデートでは対応不可能で、
各OSがソフトウェアレベルで修正をかけるか、
バグのない新たなプロセッサを導入する必要があるとのこと。

このバグは、データベースアプリケーションから
ウェブブラウザのJavaScriptのようなものまで含めた普通のユーザープログラムでも、
保護されたカーネルメモリーをある程度まで認識できるというもの。

カーネルメモリーにはパスワード、ログインキー、
ディスクからキャッシュされたファイルなど、秘密にしておくべき情報も格納されているため、
通常はユーザープロセスやユーザープログラムからは隠された状態になっていますが、
欠陥が存在することにより、
ブラウザで実行中のJavaScriptや共有パブリッククラウドサーバー上で実行されているマルウェアによって情報を盗み見られる恐れが出てきます。

「python sweetness」によれば、影響は仮想メモリを実装している
現代のすべてのCPUアーキテクチャに及び、完全に解決するにはハードウェアの変更が必要になるとのこと。
0009デフォルトの名無しさん
垢版 |
2018/01/04(木) 19:42:50.88ID:53E7Fk1q
tkinterって使いみちあんのかね?
メンテするだけの価値ないしお荷物だろ
捨てちまえよ!
0011デフォルトの名無しさん
垢版 |
2018/01/06(土) 11:37:52.71ID:HbY4/bGY
WSL+X+GTK
0013デフォルトの名無しさん
垢版 |
2018/01/06(土) 22:46:52.95ID:/VYNmAh6
ttps://www.pythonweb.jp/install/install/index1.html
これに沿ってPython 3.6.4 Windows x86-64 executable installer(windows10)
をインストール完了させました
早速メモ帳を開いて「print('hello python!')」と記入して
「sample.py」と名前をつけて保存

本体を起動させ「python sample.py」と入力すると
File"<stdin>,line 1
python sample.py
SyntaxError:invalid syntax
と表記され、出力してくれません
助けてください
0018デフォルトの名無しさん
垢版 |
2018/01/07(日) 12:28:09.87ID:S38kpWyE
>本体を起動させ「python sample.py」と入力

本体っつってんだろ
0020デフォルトの名無しさん
垢版 |
2018/01/09(火) 09:43:51.54ID:7TNqNH1F
本当の初心者です

1、パイソンは他の言語を学ばず直接覚えることはできますか?
2、数学の知識はどれくらいまで必要ですか?(微積分すらできない)
3、数学も分からない状態でパイソンだけ学習した場合、仕事はありますか?
0021デフォルトの名無しさん
垢版 |
2018/01/09(火) 09:44:07.85ID:7TNqNH1F
あと独学だとどれくらいで習得可能かも教えてください
0022デフォルトの名無しさん
垢版 |
2018/01/09(火) 10:45:38.03ID:EYd6rKQN
>>20
真面目に答えてやるか

1、はじめて覚えるための言語なんてそもそもありません。Pythonは変な書き方が出来難いので初心者にはおすすめです。
2、Pythonで何をやりたいかによります。必要になれば勉強すればいいです。
3、Pythonに触れてみて、書いてみて楽しくなければお話しになりません。仕事のために覚えるなんてモチベーションが続きません。
0023デフォルトの名無しさん
垢版 |
2018/01/09(火) 11:21:22.42ID:Q8Oi5xYk
pythonをやりたいのに数学に弱いとは一体・・・
統計関係に関わるんだからさ・・・
0024デフォルトの名無しさん
垢版 |
2018/01/09(火) 11:33:44.21ID:7TNqNH1F
高校数学レベルならなんとか分かります
大学数学が必要かどうかが心配なだけです
高校数学だけで学べるんですか?
0025デフォルトの名無しさん
垢版 |
2018/01/09(火) 12:29:12.99ID:hZWQBtrg
馬鹿には無理
0026デフォルトの名無しさん
垢版 |
2018/01/09(火) 12:38:12.48ID:k6ghs7nO
知識が無いのと勉強しないのは別物だしね。
勉強してダメならほかやった方がいいと思うよ
0028デフォルトの名無しさん
垢版 |
2018/01/09(火) 15:07:37.80ID:7TNqNH1F
>>27
うせやろ?
別のスレで情報工学マスターするには大学数学が必要と言われたが
そもそも機電系でも多分新しい数学分野でてくると思うが
0029デフォルトの名無しさん
垢版 |
2018/01/09(火) 17:21:22.63ID:sltW7mFZ
>>23
pythonで財務会計や管理会計や税務会計のソフトを書いたとしてもおかしくない。
0030デフォルトの名無しさん
垢版 |
2018/01/09(火) 19:27:20.67ID:7lOmzbTz
>>23
テキスト処理とか普通にやってるぞ
って言うか会社で使ってる範囲だと数学って言う感じは全くしない
0031デフォルトの名無しさん
垢版 |
2018/01/09(火) 21:18:31.14ID:TfXfj3hF
製造現場で製品検査すために測定器と通信したり、係員に検品経過を見せるために製品内で
HTTPサーバー動かしたりしたわ
HTTPサーバーのスクリプト20行ぐらいだったかな
003332
垢版 |
2018/01/09(火) 21:45:15.87ID:oH5KqnIn
コードが省略できません。 助けて貰えませんか?
def Sample03(xx):
__[pass if l.index(a[i])==l.index(b[i]) for i in range(xx)]
0039デフォルトの名無しさん
垢版 |
2018/01/10(水) 09:14:54.92ID:uWMTsG/V
おすすめのパソコンありますか?
macbookproを購入しようかと検討中のものです
0040デフォルトの名無しさん
垢版 |
2018/01/10(水) 13:22:40.35ID:7Twskh/5
スレチだけどmbpいいよ
winマシンだとレッツノートの高いやつくらいかな良いのは
ノートでそれ以上のスペック求めるとゲーミングに行っちゃう
0041デフォルトの名無しさん
垢版 |
2018/01/10(水) 15:28:15.44ID:uWMTsG/V
>>40
thx

mbpにする決心がついた
ただもう少しで2018年のが出そうなんだよなー
仕方ないか
0045デフォルトの名無しさん
垢版 |
2018/01/10(水) 16:58:49.46ID:uWMTsG/V
>>43
今使ってるPCはもう限界なので待つのは厳しい。。
新しいのがでるのは3月か6月ごろなようなので長い
0047デフォルトの名無しさん
垢版 |
2018/01/10(水) 18:13:19.35ID:XD3nGTcX
def test_func():
print('call test_func')

test_func()
をコマンドプロンプトから実行しようとすると

File "<stdin>", line 4
test_func()
^
SyntaxError: invalid syntax
>>>
って出るんだけどなんでですか?
0048デフォルトの名無しさん
垢版 |
2018/01/10(水) 18:19:00.03
目に見えない文字が入ってるから
最後の行とその上の空行も全部消してから書き直す
0050デフォルトの名無しさん
垢版 |
2018/01/13(土) 22:24:55.51ID:BAsP1Vyl
下記のような配列を作ってその中から条件を満たしているものの中で
価格が最大値のものを検索するということがしたいのです。

品目     条件     価格
りんご     OK     100  
みかん     OK     200
れもん     NG     300

1.この場合、配列は下記のようなリストを作ればよいのでしょうか?

list=[[りんご, OK, 100], [みかん, OK, 200], [れもん, NG, 300]]

2.上記1.のアプローチが正しいとして、上記リストにおいて、条件がOKのもので価格が一番高いものの
配列の番号(または品目)を取得する方法をどなたかお教えいただけないでしょうか。
(辞書でもリストでも何でも良いのでが上記の表のような配列の裁き方が検索しても見つけられず・・・)
0052デフォルトの名無しさん
垢版 |
2018/01/14(日) 01:00:13.30ID:rilCPocj
>>50
Pythonじゃなきゃダメ?
正直、データベースソフトでやるべき案件だと思う
どうしてもPythonでやるなら、内包表記を使ってリストから
条件に合う要素を抜き出して新しいリストを作り、データを絞り込んで行く

>>> a = [['りんご', 'OK', 100], ['みかん', 'OK', 200], ['れもん', 'NG', 300]]
>>> ok_list = [elem for elem in a if elem[1] == 'OK']
>>> ok_list
[['りんご', 'OK', 100], ['みかん', 'OK', 200]]
>>> max_price = max([elem[2] for elem in ok_list])
>>> max_price
200
>>> name = [elem[0] for elem in ok_list if elem[2] == max_price]
>>> name
['みかん']

あと、list=[[りんご, OK, 100], [みかん, OK, 200], [れもん, NG, 300]] と最初にあったが
変数名にlistなどのPythonに元からあるオブジェクト名そのまんまを使うのは避けよう
エラーの元になる
0053デフォルトの名無しさん
垢版 |
2018/01/14(日) 01:32:55.95ID:YcirJyIj
>>52
Pythonスレで Pythonじゃなきゃダメ? ってオイオイだろ
これなんか学校の課題って気がする

list=[["りんご", "OK", 100], ["みかん", "OK", 200], ["れもん", "NG", 300]]
l_OK = [item_OK for item_OK in filter(lambda list_item : list_item[1] == "OK", list)]
#l_OK = [item for item in list if item[1] == "OK"]
print( max(l_OK, key=(lambda item_OK: item_OK[2]) )[0] )
0054デフォルトの名無しさん
垢版 |
2018/01/14(日) 02:18:12.29ID:yVTJx4nd
pandas使え
005550です
垢版 |
2018/01/14(日) 08:27:28.43ID:krdFkWsl
50です。みなさんご回答ありがとうございます。

>>51
検索すると色々あるのですが分かりそうで分からず…。

>>52, >>53
ありがとうございます!いずれの方法でもできました。
一度条件で抽出してからmax使うのですね(そこに思い至りませんでした…)

>>54
後々触ってみたいとは思うのですが、この程度のデータなのでまずは基本的なことを知りたいと思いまして。
0056デフォルトの名無しさん
垢版 |
2018/01/14(日) 10:39:38.00ID:TwgO/caM
pandasのstr.containsとかって、真偽反転するとき“~”を付けるじゃないですか
この波線って、pythonの側のビット演算子ですか?
strアクセサ用のオプション記号?

x=1
tf=2 in x
print(~tf)
とかで試してみるとT/Fではなく数字が出てくるので、strアクセサ用の機能?
0057デフォルトの名無しさん
垢版 |
2018/01/14(日) 13:23:26.45ID:0mtDcMfe
>56
in を使うなら、x=[1]とするべきでは?
また、否定演算子は~でなくてnotを使うべき。
~は、ビット毎の反転をとる演算子。Trueは1、Falseは0とみなして計算されるはず。
0058デフォルトの名無しさん
垢版 |
2018/01/14(日) 14:50:25.95ID:79VwseEt
だれもそんな話はしてないぞ
0059デフォルトの名無しさん
垢版 |
2018/01/14(日) 15:32:15.53ID:DgdnagvN
>>50
もう解決してるみたいだけど
価格が0または正だと仮定していいなら
print(max(list, key=(lambda x: x[2] if x[1] == 'OK' else -1)))
とすれば要素の抽出とかはなくてもいける
ただし'OK'のものが一件もないと価格が'NG'のものを返すので注意が必要
006050
垢版 |
2018/01/14(日) 15:34:13.85ID:DgdnagvN
> 価格が'NG'のものを返す
価格じゃなくて条件だったわ
0061デフォルトの名無しさん
垢版 |
2018/01/14(日) 15:57:09.64ID:/4CphuTL
>>56
配列の番号(と品目)を取得するようにしたニダね

list=[["りんご", "OK", 100], ["みかん", "OK", 200], ["れもん", "NG", 300]]
dic_OK = {list_idx:list_item for list_idx,list_item in enumerate(list) if list_item[1] == 'OK'}
list_index = max( dic_OK, key=(lambda dkey: dic_OK[dkey][2]) )
print( 'List index:', list_index )
print( 'Item name:', list[list_index][0] )
0062デフォルトの名無しさん
垢版 |
2018/01/14(日) 16:27:06.07ID:/4CphuTL
>>59
ついでに、max()使うとOKフラグ付きの同じ最高価格の物が複数あると困ったニダになるからな
006350
垢版 |
2018/01/14(日) 16:31:48.67ID:DgdnagvN
よくよく考えたらmax()のキーにタプルを返すようにすれば
> 価格が0または正だと仮定していいなら
の制限は要らなかったな
print(max(list, key=(lambda x: ( x[1] == 'OK', x[2]))))
> ただし'OK'のものが一件もないと条件が'NG'のものを返すので注意が必要
の方はそのままだけど
0065デフォルトの名無しさん
垢版 |
2018/01/14(日) 17:34:08.11ID:CiqP7kj2
なぜ、後になるにつれてこうも劣化していくのか

>>52
>変数名にlistなどのPythonに元からあるオブジェクト名そのまんまを使うのは避けよう
その気持ちよくわかります
0066デフォルトの名無しさん
垢版 |
2018/01/14(日) 19:43:47.38ID:GEVmZqF5
print({1,2,3})

と実行すると

{1,2,3}

と出力されます。

s1 = {1,2,3}
s2 = {4,5,6}

print(str(s1) + " -> " + str(s2))

と実行しても

{1,2,3} -> {4,5,6}

とは出力されません。

{1,2,3} -> {4,5,6}

と出力するにはどうすればいいのでしょうか?
0068デフォルトの名無しさん
垢版 |
2018/01/14(日) 20:13:42.00ID:EtO+GVJz
>>67
欲しいのは、{1,2,3} -> {4,5,6} で
{1, 2, 3} -> {4, 5, 6} じゃいやぽ
だから、なんとかしてじゃないのか
0070デフォルトの名無しさん
垢版 |
2018/01/14(日) 21:01:00.84ID:rilCPocj
>>68
自分の環境(Windows7, Python3.6.3)では最初からスペースが入るからよくわからんね
質問者からの追加説明を待ちたい

>>> print({1,2,3})
{1, 2, 3}
0071デフォルトの名無しさん
垢版 |
2018/01/14(日) 21:30:58.89ID:0mtDcMfe
{}は、set
setは、順序を保持しない
順序を保持したいなら、[4,5,6]とlistを使うのがよい
0072デフォルトの名無しさん
垢版 |
2018/01/15(月) 16:27:23.26ID:oyJFiKwa
>>50-65
漏れは、色々な言語で、最大値を持つオブジェクトを取得する、方法を研究しているが、
最大値が複数ある場合に、簡単に取得できる方法は、どの言語にも無い!

どの言語でも、最大値は1つであると、仮定されているから

例えば、Ruby のminmax。
最大・最小値が複数ある場合は、どの要素が取得できるかは、不定です!
0073デフォルトの名無しさん
垢版 |
2018/01/15(月) 16:57:20.16
C#のリスト型.Max関数は最大値そのものを返す
んでWhereメソッドでその最大値を持つ要素を抽出する
0074デフォルトの名無しさん
垢版 |
2018/01/15(月) 20:04:38.28ID:dgT2VGvQ
>>72
> 最大値が複数ある場合に、簡単に取得できる方法は、どの言語にも無い!
>>73 もしくは t-sql で rank() とか使うとかかな
0075デフォルトの名無しさん
垢版 |
2018/01/15(月) 20:20:13.07ID:uVak3BOk
>>55
>一度条件で抽出してからmax使うのですね
こんなこと(条件を満たすもの全て抽出)はしないで俺様関数を作って
俺様関数中で条件を満たすものピックアップしながらmaxを探すとかするんじゃないのか
0076デフォルトの名無しさん
垢版 |
2018/01/15(月) 20:27:35.79ID:uVak3BOk
>>74
最大値が複数ある場合に、標準関数で簡単に取得できる方法がないなら
自分で望みのことする関数なんかを作れだろうな
0077遊園地 ◆ExGQrDul2E
垢版 |
2018/01/16(火) 01:25:21.93ID:/gUVmc1B
最大値が複数有る時にmax要素を含むモノを返す処理
俺にも教えて。

l=[1,2,2,3,4,5,5,7,8,9,9]

import collections
x=collections.Counter(l)
print(x)
0078遊園地 ◆ExGQrDul2E
垢版 |
2018/01/16(火) 01:36:02.64ID:/gUVmc1B
どうすれば、いいんでちゅかぁ?wwwwwwwwww

 ぶひいいいいいいいいいいwwwww ┌(_Д_┌ )┐ ┌(_Д_┌ )┐


from collections import Counter
print( Counter('abracadabra').most_common(3) )


cnt = Counter()
for word in ['red', 'blue', 'red', 'green', 'blue', 'blue']:
cnt[word] += 1
print(cnt)



あぁ? ああああああああああああ あばばばばばばばばばあwwwww
0079遊園地 ◆ExGQrDul2E
垢版 |
2018/01/16(火) 03:20:20.16ID:/gUVmc1B
答え合わせのお時間でチュよぉおおおおおwww

 ぶひいいいいいいいいいいwwwww ┌(_Д_┌ )┐ ┌(_Д_┌ )┐


import collections

l='abbabacccddeee'
r = collections.Counter(l)
print (r.most_common(2))#取り出す個数wwwwwww


あああああああああああああーーーーーーーーーーwwwwwwwww

 取り出す個数を求めるの忘れて待ちたぁああああああwwwwwwww
0080遊園地 ◆ExGQrDul2E
垢版 |
2018/01/16(火) 04:05:37.35ID:/gUVmc1B
はいっ! はいっ!!  

「ハイ! ハイ!」  「ハイ! ハイ!」

ぶひいいいいいいいいいいwwwww

  「アイィィィ!ポイ!ポイィィィ!」

「んっ! 」 「んっ!」

35歳 「あっ。あっああ。。。」 「あっ。あっああ。。。」

    遊園地「ぶひいいいいいいいいいいwwwww」

ぬーぷ 「冬の大空に降り注ぐ彗星」


35歳&ぬーぷ&遊園地「 はいっ! はいっ!! 」

 「ぶひいいいいいいいいいいwwwww」 ( ゚д゚ )クワッ!!  ヘ(゚∀゚ヘ)アヒャ ┌(_Д_┌ )┐
0083デフォルトの名無しさん
垢版 |
2018/01/16(火) 13:38:54.40ID:1yOH1J8J
Ruby で作った

scores = [1,2,9,2,3,9,7]

results = scores.each_with_object([]).with_index do |(score, ary), i|
if ary.empty? || ary[0][0] == score
ary << [score, i]
elsif ary[0][0] < score
ary.clear
ary << [score, i]
end
end

results.each do |item|
puts "score: #{item[0]}, index: #{item[1]}"
end

出力
score: 9, index: 2
score: 9, index: 5
0084遊園地 ◆ExGQrDul2E
垢版 |
2018/01/16(火) 15:50:10.04ID:/gUVmc1B
どうしても、言いたい事が有るので、聞いて下さい。

 「氣持ちいぃいいいいwwwwいいぃぃいんぽおおおおおおおおおおおwwwww」



>>83
数値のmax要素を取得してるから、もっとも多い要素の複数を返す。
と言う、仕様には使えない。

多い要素を取得のハズが数値MAX取得でNG
https://ideone.com/Cj8JYJ

試験データ型
scores = [1,2,9,2,3,9,7,3,3,2]

返り値
要素 2,3
index 1,3,9 4,7,8
0085遊園地 ◆ExGQrDul2E
垢版 |
2018/01/16(火) 15:57:30.63ID:/gUVmc1B
正規表現で実装する方が良いかも。

   大丈夫だwっw 俺より凄い奴が出て来て助言してくれるぞwww

ぶひいいいいいいいいいいwwwww ┌(_Д_┌ )┐
0086デフォルトの名無しさん
垢版 |
2018/01/16(火) 16:20:42.45ID:qp2ox4Ew
>>78
[('a', 5), ('b', 2), ('r', 2)]
Traceback (most recent call last):
File "C:/Users/banbarori5/myscript.py", line 7, in <module>
cut[word] += 1
NameError: name 'cut' is not defined
0087デフォルトの名無しさん
垢版 |
2018/01/16(火) 16:25:25.03ID:ANYFrcmB
まずmaxを求めて
次にmaxと一致するものをリスト内包で抜き出すのが
Python流の思想
同時にやろうとするのはC++の発想なので違う
データベースの副問い合わせみたいなもんだな
0089デフォルトの名無しさん
垢版 |
2018/01/16(火) 18:45:08.51ID:1yOH1J8J
>>83
のやり方なら、全要素を1回の走査で済むけど、バグる可能性が高くなるから、

一旦、最大値を求めてから、改めてその最大値を使っている要素を、探した方が良さそう。
ただし、このやり方では、2回の走査になる
0090遊園地 ◆ExGQrDul2E
垢版 |
2018/01/16(火) 19:06:05.28ID:/gUVmc1B
取り敢えず、動くモノはできた。

誰か 整形 はよぉおおおおおおおおおおおwwwwwwwww

 https://ideone.com/nAscvc

もしくはぁああああwwww  誰か書き直してぇええええええええ
0091遊園地 ◆ExGQrDul2E
垢版 |
2018/01/16(火) 19:30:01.48ID:/gUVmc1B
くだすれPython(超初心者用) その33©2ch.net

914 :デフォルトの名無しさん:2017/05/24(水) 17:14:04.97 ID:rw+7fc+A
>>913
雪風は人間初心者だろ?死ねよ


俺を挑発した奴www 出てこいコノヤローーーーwwww
0093遊園地 ◆ExGQrDul2E
垢版 |
2018/01/16(火) 20:14:53.61ID:/gUVmc1B
1.最大値が複数有る時にmax要素を含むモノを全て返す処理
2.要素数が多いモノをindex付きで、全て返す


2のデータ
[1,2,9,2,3,9,7,3,3,2]

2の望む出力
{2:[1,3,9], 3:[4,7,8]}


1のデータ
{2:[1,3,9], 3:[4,7,8],9:[2,5,9]}

1の望む出力
{2:[1,3,9], 9:[2,5,9]}


お願いします。





君とぉおおおおおおおおおおお ちゅーーーしたぁあああうぃいいwwwっw??

 あなーーーーたーーーがw0−−−−wwww 好きだからぁあらあらあぁあwww

NOnoooo のんぉおおのぉお とぉおおおおをおをおををっをwww
0094デフォルトの名無しさん
垢版 |
2018/01/16(火) 22:29:00.66ID:1yOH1J8J
Ruby で作った。
同じ数字でグループ化して、要素数が最大になったものを取得する

scores = [1,2,9,2,3,9,7,3,3,2]

groups = scores.group_by { |num| num }
max_item = groups.max_by { |num, ary| ary.length }

groups.select! { |num, ary| ary.length == max_item[1].length }
p groups

出力
{2=>[2, 2, 2], 3=>[3, 3, 3]}
009594
垢版 |
2018/01/16(火) 22:31:53.14ID:1yOH1J8J
94 は、間違い

インデックスが取得できていない
009694
垢版 |
2018/01/16(火) 23:50:04.19ID:1yOH1J8J
94 の続きに、以下を付け足して

results = groups.each_with_object({}) do |(num, ary), h|
scores.each_with_index do |num2, i|
if num == num2
if h[num]
h[num] <<= i
else
h[num] = [i]
end
end
end
end

p results

出力
{2=>[1, 3, 9], 3=>[4, 7, 8]}
009794
垢版 |
2018/01/17(水) 00:52:52.06ID:oOmqXI7v
Ruby で作った。
すべての配列を連結・平坦化して、最大値を探す。
その最大値を含むものだけを残す

groups = {2=>[1,3,9], 3=>[4,7,8],9=>[2,5,9]}

ary = groups.each_with_object([]) { |group, ary| ary << group }
max_num = ary.flatten!.max

results = groups.select {|key, ary| ary.include?(max_num) }
p results

結果
{2=>[1, 3, 9], 9=>[2, 5, 9]}
0098遊園地 ◆ExGQrDul2E
垢版 |
2018/01/17(水) 03:14:18.29ID:M6pIuyeF
Pythonのお勉強 Part55  

 スレッドで解答が有りました。


310 名前:デフォルトの名無しさん 2018/01/16(火) 22:18:39.43 ID:x5Aoa3gi
>>> #1のデータ
>>> d = {2:[1,3,9], 3:[4,7,8],8:[2,5,9]}
>>> max_value = max([max(value) for value in d.values()])
>>> [d.pop(key) if max_value not in value else None for key, value in d.copy().items()]
[None, [4, 7, 8], None]
>>> d
{2: [1, 3, 9], 8: [2, 5, 9]}
>>>
>>>
>>> #2のデータ
>>> from collections import defaultdict, Counter
>>> from itertools import compress
>>> l=[1,2,9,2,3,9,7,3,3,2]
>>> d = defaultdict(list)
>>> [d[value].append(idx) for idx, value in enumerate(l)]
[None, None, None, None, None, None, None, None, None, None]
>>> c = Counter(l)
>>> selector = [count == c.most_common(1)[0][1] for num, count in c.items()]
>>> dict(compress(d.items() , selector))
{2: [1, 3, 9], 3: [4, 7, 8]}
>>>
0099遊園地 ◆ExGQrDul2E
垢版 |
2018/01/17(水) 03:16:41.94ID:M6pIuyeF
質疑応答  回答 が 有りました?

 答えてくれて人に感謝ですぅううううwwwww ほわええええええ

「ほぇ? ほぇええええええええええええええええwwwww」
0100デフォルトの名無しさん
垢版 |
2018/01/17(水) 09:50:35.82ID:tGzDYIkw
リスト内の要素に指定した文字列が含まれるのを検出したいとき
F="ex"
L=["exe","zip","tex"]
for i in L:
if i in F
というような処理しか知らないんですが、普通はどうやるんでしょうか
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況