Python:每日一题 65
本帖最后由 ooxx7788 于 2017-6-14 18:19 编辑unique_in_order('AAAABBBCCDAABBB') == ['A', 'B', 'C', 'D', 'A', 'B']
unique_in_order('ABBCcAD') == ['A', 'B', 'C', 'c', 'A', 'D']
unique_in_order() ==
我觉得例子已经足以说明一切了。注意,给定字符串可以为空。
其实出这个题我主要是想引入这个东西:
>>> for key, group in itertools.groupby('AAABBBCCAAA'):
... print(key, list(group))
...
A ['A', 'A', 'A']
B ['B', 'B', 'B']
C ['C', 'C']
A ['A', 'A', 'A']
你们再看看呢。
**** Hidden Message ***** 本帖最后由 jerryxjr1220 于 2017-6-14 11:22 编辑
unique_in_order = lambda s: ] + for i in range(1, len(s)) if s != s] if s else [] 大神的每日一题很好,学习到很多使用的知识 瓦蓝 发表于 2017-6-14 20:02
大神的每日一题很好,学习到很多使用的知识
但是你从来不写! 啥隐藏内容更 str = input('please enter a string:')
unique = list(set(str))
unique.sort()
groupby = ''.join(unique)
print (groupby)
please enter a string:AbsCd123S
123ACSbds Teagle 发表于 2017-6-15 11:47
题目好像没有要求sort吧
而且使用set会去重,并不符合题目要求。 ooxx7788 发表于 2017-6-15 11:50
题目好像没有要求sort吧
而且使用set会去重,并不符合题目要求。
好吧,曲解了{:5_90:}{:5_90:} >>> ss='AAAABBBCCDAABBB'
>>> +'\0')if a!=b]
['A', 'B', 'C', 'D', 'A', 'B'] 本帖最后由 ooxx7788 于 2017-6-15 16:36 编辑
SixPy 发表于 2017-6-15 16:26
第3条可是包含的全部是整型的列表哦,你这个可跑不出来哦!{:10_264:}
不过方法很666,涨姿势了 ooxx7788 发表于 2017-6-15 16:34
第3条可是包含的全部是整型的列表哦,你这个可跑不出来哦!
不过方法很666,涨姿势了
道理是一样的,都是序列
这些都是写着玩~
知道原理就行 list1 = list('AAAABBBCCDAABBB')
list2 = []
for i in list1:
if i not in list2:
list2.append(i)
print(list2) concrete 发表于 2017-6-15 21:05
list1 = list('AAAABBBCCDAABBB')
list2 = []
for i in list1:
自己执行下,看看结果对不对吧! list1 = list('ABBBCcAD')
list2 = []
list2.append(list1)
a = 1
for i in list1:
if i != list2:
list2.append(i)
a += 1
print(list2) from collections import OrderedDict
chs = 'ABBCcAD'
list(OrderedDict.fromkeys(chs)) 学习了! 000
本帖最后由 gopythoner 于 2017-6-16 17:39 编辑
def unique_in_order(a):
a = list(a)
a.append(" ")
lis = []
for i in range(len(a)-1):
if a==a:
pass
else:
lis.append(a)
return lis
a = 'AAAABBBCCDAABBB'
b = 'ABBCcAD'
c =
for k in :
print(unique_in_order(k))
输出
['A', 'B', 'C', 'D', 'A', 'B']
['A', 'B', 'C', 'c', 'A', 'D']
应该就是去除元素中的连续重复
def unique_in_order(s):
result = [""]
]
return result
引出groupby后面题目是什么?这个groupby还有个key参数吧,如果只管第一个参数的话
# 如果groupby只有第一个参数的话
def my_groupby(s):
key, group = [""],[]
index = 0
for i in range(len(s)):
if s != key[-1]:
key.append(s)
group.append(s)
index = i
group.append(s)
return list(zip(key,group)) 这答案···
原来楼主是说使用groupby,不是重写groupby啊,orz{:10_247:}
jerry大神用三元操作符解决空输入,用列表+推导式解决索引的-1,赞
我一直想不到怎么写到一行上
版主那里用错位zip来判断,感觉很巧妙啊,666
页:
[1]
2