リストのコピー、要素の追加と削除

ソースコード
#coding:utf-8
#リストのコピー

import copy
import os

os.system("clear")

lista = [0, 1, [2, 3]]
#print(lista[0],lista[1],lista[2],lista[2][0],lista[2][1])

listb = lista                   # assignment代入

listc = lista.copy()              # shallow copy

listd = copy.deepcopy(lista)  # deep copy

print(lista,listb,listc,listd)

lista[1] = 100
lista[2][0] = 200
print(lista,listb,listc,listd)

a = ["apple","banana","kiwi","orange"]
b = a
c = a.copy()
d = copy.deepcopy(a)
print(a,b,c,d)
a[1] = "バナナ"
print(a,b,c,d)

#リスト内包表記
base = [1,2,3,4]
new = [i*2 for i in base]
print(new)

#2種類のリスト:①棚stack FILO First In Last Out
#FCLS  First Come Last service 

import random
stack =[]

for i in range(10):
    stack.append(random.randint(2,50))
print(stack)
result = 0
for i in range(10):
    result += stack.pop()
print(f'総和={result}') 
print(stack)

#②待ち行列QUEUE:FIFO First In First Out 
#FCFS First Come First service

queue = []
for i in range(10):
    name = input("お名前は: ")
    queue.append(name)
print(queue) 

for i in range(10):
    call = queue.pop(0)
    print(call)
pop,remove,delの使い方参考ソース
もっと見る
#coding:utf-8
#リスト要素の削除clear, pop, remove, del


#すべての要素を削除: clear()
l = [0, 1, 2]

l.clear()
print(l)
# []


#指定した位置の要素を削除し、値を取得: pop()
l = [0, 10, 20, 30, 40, 50]

popped_item = l.pop(0)
print(popped_item)
# 0

print(l)
# [10, 20, 30, 40, 50]

popped_item = l.pop(3)
print(popped_item)
# 40

print(l)
# [10, 20, 30, 50]

#指定した値と同じ要素を検索し、最初の要素を削除: remove()
l = ['Alice', 'Bob', 'Charlie','Alice', 'Bob', 'Dave']

l.remove('Alice')
print(l)
# ['Bob', 'Charlie', 'Bob', 'Dave']

#インデックス・スライスで位置・範囲を指定して削除: del
l = [0, 10, 20, 30, 40, 50]

del l[0]
print(l)
# [10, 20, 30, 40, 50]

del l[3]
print(l)
# [10, 20, 30, 50]

#スライスで範囲を指定すると、複数の要素を一括で削除できる。
l = [0, 10, 20, 30, 40, 50]
del l[2:5]
print(l)
# [0, 10, 50]

l = [0, 10, 20, 30, 40, 50]
del l[:3]
print(l)
# [30, 40, 50]

#全範囲を指定してすべての要素を削除する
l = [0, 10, 20, 30, 40, 50]
del l[:]
print(l)
# []

#スライスでの範囲指定を[start:stop:step]として増分stepを指定すると、飛び飛びの複数の要素を一括で削除できる。
l = [0, 10, 20, 30, 40, 50]
del l[::2]
print(l)
# [10, 30, 50]

#条件を満たす複数の要素を一括で削除: リスト内包表記
l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

evens = [i for i in l if i % 2 == 0]
print(evens)
# [0, 2, 4, 6, 8]

odds = [i for i in l if i % 2 != 0]
print(odds)
# [1, 3, 5, 7, 9]

print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


l = ['Alice', 'Bob', 'Charlie', 'Bob', 'David']
print(l)
# ['Alice', 'Bob', 'Charlie', 'Bob', 'David']

print([s for s in l if s != 'Bob'])
# ['Alice', 'Charlie', 'David']

print([s for s in l if s.endswith('e')])
# ['Alice', 'Charlie']

print(list(set(l)))
# ['Alice', 'Charlie', 'David', 'Bob']
実行結果