西北工业大学NOJ-Python编程问题集:

Noj Python编程:第1季:第1季-简单(1-10)

Noj Python 编程:第 2 季:第 2 季片段 (11-20)

Noj Python编程:第3季:第3季循环(21-30)

NOJ-Python编程:第4季:枚举算法(31-40)

NOJ-Python编程:第5季:模块化(41-50)

Noj Python 编程:第 6 季:第 6 季字符串 (51-60)

NOJ-Python 编程:第 7 季:第 7 季-列表和元组 (61-70)

Noj Python Programming: Season 8: season 8-sets and Dictionary (71-80)

Noj Python 编程:第 9 季:班 (81-90)

Noj Python 编程:第 10 季:第 10 季挑战(91-100)

Season 7: season 7-list and tuple (61-70)

前置知识点

建议在完成主题之前了解以下函数库的基本应用。

列表排序:

常用方法:假设L是一个列表,所有元素都是整数,默认可以直接从小到大排序。如果 l.sort(reverseu003dTrue),可以从大到小排序。您还可以在内部设置键排序规则。例如 l.sort(keyu003dlambda a:a[1]) 等价于以第二个参数为关键字进行排序(keyu003dlambda 是固定的写法)。

列表元素统计:

l.count(n) 表示L和n中元素个数相同

元组类型转换:

如果 l 是一个列表,可以通过 lu003dtuple(l) 将其转换为元组

排序我

lu003dlist(map(int,input().split()))

l.sort(反向u003d真)

在 l 中:

打印(它,结束u003d'')

#-1 -67 92 99

#凤凰代号_ZH

倒置元组

l1u003dlist(map(int,input().split()))

l2u003d列表(反转(l1))

对于范围内的 i (0,len(l1)):

l2[i]u003dl1[i]+l2[i]

ansu003d元组(l2)

打印(和)

#凤凰代号_ZH

列表切片

x1,x2u003dmap(int,input().split())

lu003dlist(map(int,input().split()))

打印(l[x1:x2])

'''

2 5

1 2 3 4 5 6 7 8 9 0

'''

#凤凰代号_ZH

元素乘法

lu003dlist(map(int,input().split()))

答案u003d1

在 l 中:

答案u003d答案*它

打印(和)

#凤凰代号_ZH

列出差异

先枚举l1列表的元素,判断l2中是否存在,不存在的输出;同样,只需枚举 l2。

l1u003dlist(map(int,input().split()))

l2u003dlist(map(int,input().split()))

在 l1 中:

如果(它在 l2 中):

继续

打印(它,结束u003d'')

在 l2 中:

如果(它在 l1 中):

继续

打印(它,结束u003d'')

#凤凰代号_ZH

同周期

判断列表 l1 是否与 l2 相同。一旦相同,输出True并中断程序。否则,将表头的元素添加到末尾并删除表头的元素。

导入系统

l1u003dlist(输入().split())

l2u003dlist(输入().split())

对于范围内的 i (len(l2)):

如果(l1u003du003dl2):

打印(“真”)

系统退出(0)

xu003dl1[0]

德尔 l1 \ [0 ]

l1.append(x)

打印(“假”)

'''

A C G T A A

A A A C G T

'''

#凤凰代号_ZH

排序三

以第二个元素为关键字进行排序

lu003dinput().split(';')

结果u003d[]

在 l 中:

itu003dit.strip('(')

itu003dit.strip(')')

x,yu003dmap(int,it.split(','))

结果.append((x,y))

result.sort(keyu003dlambda a:a[1])#以元组的第二个元素为关键字

打印(结果)

#(1,105);(2,102);(3,104);(4,103);(5,101)

#凤凰代号_ZH

元组重复

直接使用列表的计数功能。

nu003dint(输入())

lu003dlist(map(int, input().split()))

打印(l.count(n))

#凤凰代号_ZH

分拣二

按整数部分从小到大排序。

lu003dlist(input().split(','))

l.sort(keyu003dlambda a:(int(a[1:])))

在 l 中:

打印(它,结束u003d'')

#a1 障碍物 aa a 10 a 100 a

#凤凰代号_ZH

重复字符

! zoz100078](https://programming.vip/images/doc/fdc705c67e4ac52d61ccf0a60c4d12f2.jpg)

set a v i s [ ] vis[] vis [] 标记字符,遍历字符,如果个数大于1则依次输出。

visu003d[0 for i in range(200)]

su003d输入()

对于它在 s 中:

vis[ord(it)]+u003d1

对于它在 s 中:

if(vis[ord(it)]>u003d2):

打印(它,vis[ord(it)])

vis[ord(it)]u003d0

#谷歌苹果微软

#凤凰代号_ZH

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐