1、Python生成隨機數
import random
random.random() 隨機生成0-1之間的數字
random.uniform(1,10)隨機生成1-10之間的數字(包括小數整數)
random.randint(1,10)生成1-10之間的整數
random.randrange(1,10,2) 生成1-10之間 步長為2的數字 所以只能是奇數。1,3,5,7,9
list=[1,2,3,4,5,6,7]
random.choice(list) 從list中隨機抽取
random.sample(list,2) 從list中隨機抽取2個元素的片段。
2、字符串逆序
a = "abcdefg"
1.切片 a[::-1]
2.t = list(a)
t.reverse
"".join(t)
3.寫函數
def reverseStr(ss):
c = []
for i in range(len(ss)):
c.append(ss[i])
c.reverse()
return ''.join(c)
if __name__ == "__main__":
s = raw_input("please input str:")
print reverseStr(s)
3、判斷一個字符串是否為回文字符串
abcdcba 一個字符串從前往后讀和從后往前讀是一樣的。
1.s = "abcdcba" s == s[::-1] 字符串翻轉
2.定義函數
def converted(s):
ss = s[:]
if len(ss) >= 2 and s == ss[::-1]
return True
else:
return False
if __name__ == "__main__":
s = "abcdcba"
print(converted(s))
4、隨機生成100個數,然后寫入文件
思路:
1.打開一個新文件,准備去寫
2.然后隨機生成一個數(整數或者小數),並將該數寫入文件中
3.循環第二部,知道完成100個隨機數的生成
import random
with open("1.txt",'w') as f:
for i in range(1,101):
n = random.randint(1,100)
f.write(str(n)+"\n")
5、給定字典進行排序
給定dict = {'a':3,'bc':5,'c':3,'asd':4,'33':56,'d':0}
根據其鍵值進行排序
sorted(dict.items(),key = lambda i:i[0],reverse = True)
list2 = [[1,2],[4,6],[3,1]]
list2.sort(key = lambda x:x[0],reverse = False)
print list2
6、對列表進行去重
1.對 a = [1,3,2,2,1,5,5,3]
print list(set(a))
2.t = dict.fromkeys(a,0) 利用字典key的唯一性
t.keys() 或者list(t)
3.利用count函數查找重復
for i in a:
if a.count(i) > 1:
a.remove(i)
4. list1 = [1,4,3,3,4,2,3,4,5,6,1]
reduce(lambda x,y : x if y in x else x + [y],[[]]+list1)
7、去重字符串
s = 'abddaddfd' 先轉list 然后set去重,然后join字符串、
8.有UTF-8編碼的文件a.txt。文件路徑在E盤根目錄,寫一段程序逐行讀入文本文件。並在屏幕(gbk編碼)打印出來
65001 utf-8 936 GBK 編碼 采用chcp命令查看當前的CMD編碼。
思路:
1.打開編碼為UTF-8的文件,准備讀
2.readlines方法將文件以行的方式讀取,存到變量中。
3.打印到屏幕(編碼需要調整,打印至GBK屏幕)
fp = open("f:\test\a.txt",'r')
content = fp.read()
fp.close()
print content.decode("utf-8").encode("gbk","ignore")