python 產生隨機數,隨機字串
import random
#隨機整數:
print random.randint(1,50)
#隨機選取0到100間的偶數:
print random.randrange(0, 101, 2)
#隨機浮點數:
print random.random()
print random.uniform(1, 10)
#隨機字元:
print random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*()')
#多個字元中選取特定數量的字元:
print random.sample('zyxwvutsrqponmlkjihgfedcba',5)
#多個字元中選取特定數量的字元組成新字串:
prin ''.join(random.sample(['z','y','x','w','v','u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a'], 5))
#隨機選取字串:
print random.choice(['剪刀', '石頭', '布'])
#打亂排序
items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print random.shuffle(items)
下面是實現python字串反轉的四種方法:
1. 切片
def rev(s):
return s[::-1]
這是採用切片的方法,設定步長為-1,也就是反過來排序。
這種方法是最簡潔的,也是最推薦的。
2. 這種方法與切片類似,不過比較麻煩
def rev(s):
str0 = ”
l = len(s)-1
while l >= 0:
str0 += s[l]
l -= 1
return str0
這種方法是先設定一個str0的空變數,然後在s中從後往前取值,然後追加到str0中。
3.列表
def rev(s):
a = list(s)
a.reverse()
return ”.join(a)
這種方法是採用列表的reverse方法,先將s轉換為列表,然後通過reverse方法反轉,然後在通過join串連為字串。
注意:這裡注意區分列表的reverse和sort(或sorted)方法:
reverse是把列表方向排序;
sort(reverse=True)是按照某種順序方向排序。
example:
>>> a=['a','c','b','d']
>>> b=['a','c','b','d']
>>> a.sort(reverse=True)
>>> b.reverse()
>>> a
['d', 'c', 'b', 'a']
>>> b
['d', 'b', 'c', 'a']
4. reduce
def rev(s):
return reduce(lambda x, y : y + x, s)