*Python基础入门(二)——列表*
初始化和输出
offer_list = ["Allen", "Tom"]
for i in offer_list: #Allen in company.
print(i + ", in company.") #Tom in company.
list.remove(x)&list.append(x)
删除列表中值为x的第一个元素。如果没有这样的元素,就会返回一个错误.
把一个元素添加到列表的结尾,相当于a[len(a):] = L
offer_list.remove("Tom")
offer_list.append("Andy")
for i in offer_list: #Allen, welcome to join us!
print(i + ", welcome to join us!") #Andy, welcome to join us!
字符串转成列表
name = input() #NiuNiu NiuMei NiuNeng
str1 = list(name.split())
print(str1) #['NiuNiu', 'NiuMei', 'NiuNeng']
map(function, iterable)
map() 函数会根据提供的函数对指定序列做映射。
function – 函数
iterable – 一个或多个序列
a = map(int,input().split()) #1 2 3 4 5
print(list(a)) #[1, 2, 3, 4, 5]
list.insert(i,x)
在指定位置插入一个元素。第一个参数是准备插入到其前面的那个元素的索引,例如a.insert(0,x)会插入到整个列表之前
a = list(input().split()) #Niuniu Niumei Lucy
a.insert(0,'Allen')
print(a) #['Allen', 'Niuniu', 'Niumei', 'Lucy']
del语句
使用 del 语句可以从一个列表中根据索引来删除一个元素,而不是值来删除元素。可以用 del 语句从列表中删除一个切割,或清空整个列表(我们以前介绍的方法是给该切割赋一个空列表)。
a = [-1, 1, 66.25, 333, 333, 1234.5]
del a[0] #[1, 66.25, 333, 333, 1234.5]
del a[2:4] #[1, 66.25, 1234.5]
del a[:] #[]
list.pop([i])
从列表的指定位置移除元素,并将其返回。如果没有指定索引,a.pop()返回最后一个元素,元素随即从列表中被移除
name = list(input().split()) #NiuNiu Tom Tony Lucy
for i in range(3):
name.pop()
print(name) #['NiuNiu']
list.sort()&sorted(list)
my_list = ['P','y','t','h','o','n']
print(sorted(my_list)) #['P', 'h', 'n', 'o', 't', 'y']
print(my_list) #['P', 'y', 't', 'h', 'o', 'n']
my_list.sort(reverse=True)
print(my_list) #['y', 't', 'o', 'n', 'h', 'P']
list.reverse()
倒排列表中的元素
二维列表
name = ['Niumei', 'YOLO', 'Niu Ke Le', 'Mona']
food = ['pizza', 'fish', 'potato', 'beef']
num = [3, 6, 0, 3]
friend = []
friend.append(name)
friend.append(food)
friend.append(num)
print(friend) #[['Niumei', 'YOLO', 'Niu Ke Le', 'Mona'], ['pizza', 'fish', 'potato', 'beef'], [3, 6, 0, 3]]
密码游戏
牛牛和牛妹一起玩密码游戏,牛牛作为发送方会发送一个4位数的整数给牛妹,牛妹接收后将对密码进行破解。
破解方案如下:每位数字都要加上3再除以9的余数代替该位数字,然后将第1位和第3位数字交换,第2位和第4位数字交换。
请输出牛妹破解后的密码。
num = [(int(c)+3) % 9 for c in input()] #1234
print(f"{num[2]}{num[3]}{num[0]}{num[1]}") #6745