[programmers]-2つ引いてもう1つ追加
1. Problem 📃
https://programmers.co.kr/learn/courses/30/lessons/68644
次の問題は、整数配列が指定されている場合、異なるインデックスから2つの数値を抽出し、作成可能なすべての数値を昇順にソートすることによって返す関数を作成することです.
2. Logic 👨🏫
3. Code 💻 def solution(numbers):
answer = []
for i in range(len(numbers)):
for j in range(i+1, len(numbers)):
answer.append(numbers[i] + numbers[j])
return (sorted(list(set(answer))))
4. Feedback 📚
4.1重複除外
4.1.1 setによる重複除外
def solution(numbers):
answer = []
for i in range(len(numbers)):
for j in range(i+1, len(numbers)):
answer.append(numbers[i] + numbers[j])
return (sorted(list(set(answer))))
4.1重複除外
4.1.1 setによる重複除外
集合資料型には大きく2つの特徴がある.
-繰り返しは許可されていません
-順序がありません.
この2つの特徴のうちの最初の特徴は、重複を除去するために使用することができる.
my_list = ['A', 'B', 'C', 'D', 'B', 'D', 'E']
my_set = set(my_list) #집합set으로 변환
my_list = list(my_set) #list로 변환
print(new_list)
출력된 값은 ['D', 'B', 'A', 'E', 'C']
set方式で重複除外を行い,順序が混乱するのが欠点である.順序を守る必要がある場合は、複文を使用します.4.1.2 For文による重複除外
my_list = ['A', 'B', 'C', 'D', 'B', 'D', 'E']
new_list = []
for v in my_list:
if v not in new_list:
new_list.append(v)
print(new_list)
출력된 값 ['A', 'B', 'C', 'D', 'E']
4.2リスト要素の追加、削除
4.2.1 List要素の追加
>>> a = [1, 2, 3, 4, 5]
>>> a.append(6)
>>> a
[1, 2, 3, 4, 5, 6]
>>> a = [1, 2, 3]
>>> a.insert[1, 5]
>>> a
[1, 5, 2, 3]
>>> m = [1, 2, 3]
>>> n = [4, 5, 6]
>>> k = m + n
>>> k
[1, 2, 3, 4, 5, 6]
>>> k += [7, 8]
>>> k
[1, 2, 3, 4, 5, 6, 7, 8]
>>> a = [1, 2, 3]
>>> a.extend([4, 5 ,6])
>>> a
[1, 2, 3, 4, 5, 6]
4.2.2リスト要素の削除
>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> del a[1]
>>> a
[1, 3, 4, 5, 6, 7]
>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> a.remove(3)
>>> a
[1, 2, 4, 5, 6, 7]
>>> a.remove(9)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> del a[a.index(3)]
>>> a
[1, 2, 4, 5, 6, 7]
numbers = [0, 3, 6, 9]
answer = [numbers[0] + numbers[1]] * len(numbers) * len(numbers)
sum = 0
for i in range(len(numbers)):
for j in range(i+1, len(numbers)):
sum = i*len(numbers) + j
print(sum) # 출력 테스트
answer[sum] = numbers[i] + numbers[j]
sub = set(answer) #집합set으로 변환a
answer1 = list(sub) #list로 변환
answer1.sort()
print(answer1) # 출력 테스트
4.3 sort() vs sorted()
4.3.1 sort()
-sort関数はリスト名です.sort()フォーマットは「リストメソッド」で、リストの元の値を直接変更できます.
list1 = [3, 1, 2]
print("list1: ", list1)
list2 = list1.sort() # 원본을 정렬하고 수정합니다 (in-place)
print("=====정렬 후=====")
print("list1: ", list1)
print("list2: ", list2)
# 아래는 출력 값 입니다.
list1: [3, 1, 2]
=====정렬 후=====
list1 = [1, 2, 3]
list2 = None
4.3.2 sorted()
-ソート関数は「ソート」(リスト名)形式で「組み込み関数」になり、リストの元の値はそのままで、ソート値を返します.
list1 = [3, 1, 2]
print("list1: ", list1)
list2 = list1.sorted() # 원본을 유지하고 정렬한 새 리스트를 생성합니다.
print("=====정렬 후=====")
print("list1: ", list1)
print("list2: ", list2)
# 아래는 출력 값 입니다.
list1: [3, 1, 2]
=====정렬 후=====
list1 = [3, 1, 2]
list2 = [1, 2, 3]
上のコードは最初から棒で解いていましたが、appendがあるとは知らなかったので、背負って解いてしまいました.私は本当にこのコードが6行になることに驚いて、Python、、、、あなたは知っているべきで、早く勉強して書いたもの.Reference
この問題について([programmers]-2つ引いてもう1つ追加), 我々は、より多くの情報をここで見つけました https://velog.io/@odh0112/Programmers-두-개-뽑아서-더하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol