【python3学习_2】容器和字符串

1. 字符串(字符串是不可变的)
    1.1 单引号、双引号、三引号
        单引号与双引号无区别,两者可以互相做转义,
        三引号可以多行打印,单三引号与双三引号也无区别。
    1.2 运算 + * [] [:] in not in len()
    1.3 r b u 
    1.4 格式化字符串 %d,%f,%s,%03d,%0.2f,%(a,b),format
    1.5 
        join 字符串连接
        split 字符串切割
        strip, lstrip, rstrip,分别是去掉字符串两边/左边/右边的空格
        replace 替换
        find 查找
        count 数量
        len 长度
    1.6 
        string.digits 字符串内置的常量
        string.ascii_letters 
        string.lowercase
        string.printable
        string.punctuation
        string.uppercase
    1.7 re 正则表达式
2. python的3种容器(tuple/list/dict)
    2.1 tuple () 元祖,把多个元素集合在一块,打包元素,元组的元素不能修改
    2.2 list [] 列表,类似于数组结构
        用法: [], +, *, in, not in,append extend count pop remove sorted reversed
    2.3 dict {key:value} 
        用法:keys, values, pop, del, items,  get, __contains__,  clear, in, update
3. set 集合格式,不允许有重复,frozenset
4. issubset, issuperset, remove, difference, symmetric_difference, union, intersection
 

#-----------------引号---------------
print('H"e"llo') 
print("H'e'llo")
print('''Hello
World
!''')
print("""Hello
World
!""")

#-----------------运算---------------
print('abc' + 'def')
print('abc' * 3)

string = 'abcdefg'
print(string[:]) # abcdefg
print(string[3:]) # defg
print(string[:3]) # abc
print(string[3:5]) # de 左闭右开,包括最左边不包括最右边
print(string[-5:-2]) # cde 从右往左数 左开右闭
print(string[::-1]) # gfedcba 反转字符串
print(string[::2]) # aceg

print(string[7::-1]) #gfedcba
print(string[:6:-1])
print(string[7:3:-1])

print('ab' in string) # True判断ab是否在字符串中,返回bool
print('w' in string) # False
print(len(string)) #7 字符串的长度

#-----------------格式化字符串---------------
print('abc %s' %string)
print('%d,%3d,%03d' %(1, 1, 1)) # 1,  1,001 格式化补0或补空格
print('%08.3f' %1) #0001.000 总共8位数,不够补0
print('{}{}'.format('hello', 'world'))
print('{1}{1}{0}'.format('hello', 'world'))
print('{w}{h}{w}'.format(h='hello', w='world'))
str1 = ['hello','world']
print('{0[1]},{0[0]}'.format(str1))

#-----------------字符串用法---------------
str1 = ['a','b','c','d']
str2 = ')('.join(str1) # 字符串连接
print(str2) # a)(b)(c)(d
str3 = str2.split(')(') # 字符串分割
print(str3) # ['a','b','c','d']
# python里的所有字符串都是不可变的
s1 = 'hello world'
s2 = s1.replace('hello', 'hi')
print(s2) # hi world 把hello换成hi
print(s1) # hello world 实际上并不改变s1原本的值,而是新生成一个字符串
print(id(s2))
print(id(s1))
print(s1.count('o')) # 2 计算字符串o出现的次数

#-----------------字符串函数---------------
import string

print(string.digits) # 字符串内置常量
print(string.ascii_letters[26:]) # 大写A-Z
print(string.ascii_letters[:26]) # 小写a-z

#-----------------tuple---------------
a = (1, 2, 3, 4, 5)
print(type(a)) # tuple
print(a[0]) # 切片

#-----------------list---------------
import os

b = [1,2,3,4,5]
print(type(b)) # list
print(b[2:3]) # 切片 左闭右开
print(id(b))
b.append(10) # 改变了列表,
print(id(b))

#列表便捷用法
y = [i*2 for i in [8,-6,9]] # 列表里的每个值*2
print(y) # [16, -12, 18]
#range(n) 的用法:生成一个从0~n-1的列表
y = [i for i in range(7) if i%2==0] # 取偶数
print(y) # [0, 2, 4, 6]
y = [m + n for m in 'ABC' for n in 'XYZ']
print(y) # ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
y = [d for d in os.listdir('.')]
print(y) # 打印当前文件夹的文件
y = [x if x % 2 == 0 else -x for x in range(1, 11)]
print(y) # [-1, 2, -3, 4, -5, 6, -7, 8, -9, 10] 偶数打印奇数加负
 

#-----------------dict---------------
x = {'name':'bigstar', 'age':20, 'clas':'yinianji'}
print(type(x)) # dict
print(x['name']) # bigstar
print(x.keys()) # 取所有key值
print(x.values()) # 取所有value值
print(x.__contains__('name')) # 判断是否有此key值  

(python初学者的点滴记录,仅供参考,不喜勿喷)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值