华为机试题:HJ9 提取不重复的整数(python)
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
文章目录
描述输入一个 int 型整数按照从右向左的阅读顺序返回一个不含重复数字的新的整数。保证输入的整数最后一位不是 0 。
数据范围 1 ≤ n ≤ 108
输入描述输入一个int型整数
输出描述按照从右向左的阅读顺序返回一个不含重复数字的新的整数
示例1
输入
9876673
输出37689
Python3
a = input()[::-1] # 倒叙输出
print("".join(sorted(set(a), key=a.index))) # 按照字符串 a 进行排序
- input()获取控制台任意形式的输入。输出均为字符串类型。
- set() 创建集合。其表示一个无序不重复元素的序列。
- sorted() 对所有可迭代类型进行排序。不改变原始序列返回排序后的新序列。
- str.join()将序列即字符串、元组、列表、字典中的元素以指定的字符连接并返回一个新的字符串。
- print() 打印输出。
知识点详解
1、set() 创建集合。表示一个无序不重复元素的序列。
无序无论序列中的元素在赋值给变量之前是什么顺序赋值后各元素位置都将会随机显示。
不重复对序列中的重复元素赋值给变量后系统会自动去除重复元素只保留一个。
- 备注【列表、元组和字符串】都属于序列。
- 备注
set(str)
对字符串去重set(tuple)
对元组去重、set(list)
对列表去重。
集合的创建方法
- 1创建空集
set()
- 2创建集合
set((A,B))
- 3创建集合
{}
# 1创建空集set()
person1 = set() # 空集合
print(len(person1)) # 【输出结果】0
print(person1) # 【输出结果】set()
# 2创建集合set((A,B))
person2 = set(("student", "teacher", "babe", 123, 321, 123))
print(len(person2)) # 【输出结果】5
print(person2) # 【输出结果】{321, 'teacher', 'babe', 123, 'student'}
# 3创建集合{}
person = {"student", "teacher", "babe", 123, 321, 123}
print(len(person)) # 【输出结果】5
print(person) # 【输出结果】{'student', 321, 'teacher', 123, 'babe'}
2、sorted() 对所有可迭代类型进行排序。不改变原始序列返回排序后的新序列。
函数说明
sorted(iterable, key=None, reverse=False)
输入参数
- iterable可迭代的对象如字典、列表。
- key可迭代类型中某个属性对指定函数进行排序。
默认=None
- reverse
升序reverse=False默认
或降序reverse=Ture
。备注字符串按照ASCII的大小进行排序。默认先排序大写字母后排序小写字母。
lst1 = (5, 4, 3, -2, 1)
L1 = sorted(lst1) # 【输出结果】[-2, 1, 3, 4, 5]
L2 = sorted(lst1, key=abs) # 【输出结果】[1, -2, 3, 4, 5]
L3 = sorted(lst1, reverse=True) # 【输出结果】[5, 4, 3, 1, -2]
print(L1)
print(L2)
print(L3)
###################################################################################
lst2 = ('F', 'D', 'Y', 'e', 'a', 'v')
L4 = sorted(lst2) # 【输出结果】['D', 'F', 'Y', 'a', 'e', 'v']
L5 = sorted(lst2, key=str.lower) # 【输出结果】['a', 'D', 'e', 'F', 'v', 'Y']
print(L4)
print(L5)
3、str.join()将序列即字符串、元组、列表、字典中的元素以指定的字符连接并返回一个新的字符串。
函数说明
'Separator'.join(Sequence)
功能说明以Separator为分隔符对Sequence所有元素进行逐个分割并返回一个新的字符串。
输入参数
Separator
代表分隔符。 可以是单个字符如','、'.'、'-'、'*'
等也可以是字符串如:'abc'
。Sequence
代表要连接的元素序列。可以是字符串、元组、列表、字典。
备注1Separator
和Sequence
都只能是string型不能是int型和float型否则系统报错。
备注2字典的读取是随机的。
a1 = 'I Love China !'
print('字符串: ', ' '.join(a1))
a2 = ['I', 'Love', 'China', '!']
print('列表: ', ' '.join(a2))
a3 = ('I', 'Love', 'China', '!')
print('元祖: ', ' '.join(a3))
a4 = {'I': 1, 'Love': 2, 'China': 3, '!': 4}
print('字典: ', ' '.join(a4))
'''
字符串: I L o v e C h i n a !
列表: I Love China !
元祖: I Love China !
字典: I Love China !
'''
import os # 导入路径模块
os.getcwd() # 获取当前路径
data_save = os.path.join(os.getcwd(), 'data_save') # 获取当前路径并组合新的路径
print(data_save)