初识python 字符串 列表 字典相关操作

python基础(一):

运算符:

    算术运算:

        除了基本的+ - * / 以外,还需要知道 :  // 为取整除 返回的市商的整数部分 例如: 9 // 2  ---> 4  , 9.0 //  2.0 --->4.0

                         %  为取余数  返回的是除法的余数  没有余数则为0  例如: 3 % 3 ---> 0 , 有余数:6 % 3 --->2

    逻辑运算符:

        and , or , not

    比较运算符:

         == 判断两个数是否相等 , != 判断两个数是否不相等 ,  > , < , >= ,<=

    成员运算符:

        

        list_1 =[1,2,3,4,5]

        in : 

          1 in list_1 --->   True
        not in :

          6 in list_1 --->  False

格式化字符 .format():

    控制精度:

        pi = 3.1415926
        print("圆周率精确到小数点后3位为:{0:.3f}".format(pi))
        圆周率精确到小数点后3位为:3.142

    填充字符:

        w_1 = "word"

        "{0:-^30}".format(w_1)  --->   '-------------word-------------'

if 判断 和 while for 循环:

while循环一般通过数值是否满足来确定循环的条件

for循环一般是对能保存多个数据的变量,进行遍历

 

list_2 = [1,2,3,4,5,66]
for i in list_2:
    print(i)

 

   乘法表()

i = 0
while i <=9:
    m = 1
    while m <= i:
        print('%d*%d=%d'%(m,i,m*i),end=' ')
        m +=1
    print('')

    i+=1

  猜拳

 1 import random
 2 
 3     player = input('请输入:剪刀(0)  石头(1)  布(2):')
 4 
 5     player = int(player)
 6 
 7     computer = random.randint(0,2)
 8 
 9     if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):
10         print('获胜,哈哈,你太厉害了')
11     elif player == computer:
12         print('平局,要不再来一局')
13     else:
14         print('输了,不要走,洗洗手接着来,决战到天亮')

break 和 continue

  break的作用:用来结束整个循环

  continue的作用:用来结束本次循环,紧接着执行下一次的循环

 

字符串,字典,列表,元组:

切片:

  • 切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。

  • 切片的语法:[起始:结束:步长]

  • 要注意选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)。
a = "abcdef"
a[:3]
'abc'
a[::2]
'ace'
a[5:1:2] 
''
a[1:5:2]
'bd'
a[::-2]
'fdb' 
a[5:1:-2]
'fd'

字符串常见操作:

如有字符串mystr = 'hello world itcast and itcastcpp',以下是常见的操作

<1>find

检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1

mystr.find(str, start=0, end=len(mystr))

<2>index

跟find()方法一样,只不过如果str不在 mystr中会报一个异常.

mystr.index(str, start=0, end=len(mystr))

<3>count

返回 str在start和end之间 在 mystr里面出现的次数

mystr.count(str, start=0, end=len(mystr))

<4>replace

把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.

mystr.replace(str1, str2, mystr.count(str1))

<5>split

以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串

mystr.split(str=" ", 2)

<6>capitalize

把字符串的第一个字符大写

mystr.capitalize()

<7>title

把字符串的每个单词首字母大写

<8>startswith

检查字符串是否是以 obj 开头, 是则返回 True,否则返回 False

mystr.startswith(obj)

<9>endswith

检查字符串是否以obj结束,如果是返回True,否则返回 False.

mystr.endswith(obj)

<10>lower

转换 mystr 中所有大写字符为小写

mystr.lower()

<11>upper

转换 mystr 中的小写字母为大写

mystr.upper()

<12>ljust

返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串

mystr.ljust(width)

<13>rjust

返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串

mystr.rjust(width)

<14>center

返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

mystr.center(width)

<15>lstrip

删除 mystr 左边的空白字符

mystr.lstrip()

<16>rstrip

删除 mystr 字符串末尾的空白字符

mystr.rstrip()

<17>strip

删除mystr字符串两端的空白字符

a = "\n\t itcast \t\n"a.strip()'itcast'

<18>rfind

类似于 find()函数,不过是从右边开始查找.

mystr.rfind(str, start=0,end=len(mystr) )

<19>rindex

类似于 index(),不过是从右边开始.

mystr.rindex( str, start=0,end=len(mystr))

<20>partition

把mystr以str分割成三部分,str前,str和str后

mystr.partition(str)

<21>rpartition

类似于 partition()函数,不过是从右边开始.

mystr.rpartition(str)

<22>splitlines

按照行分隔,返回一个包含各行作为元素的列表

mystr.splitlines()

<23>isalpha

如果 mystr 所有字符都是字母 则返回 True,否则返回 False

mystr.isalpha()

<24>isdigit

如果 mystr 只包含数字则返回 True 否则返回 False.

mystr.isdigit()

<25>isalnum

如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False

mystr.isalnum()

<26>isspace

如果 mystr 中只包含空格,则返回 True,否则返回 False.

mystr.isspace()

<27>join

mystr 中每个字符后面插入str,构造出一个新的字符串

mystr.join(str)

 

列表的常见操作:

访问列表中的值:

通过索引来取值:

list_1=['a','b','c','d','e']
print(list_1[1]) --->'b'

 

对列表内的数据进行更新:

(直接对列表内的数据进行覆盖就是更新)

list_1=['a','b','c','d','e']
list_1[0] ='pp'
print(list_1)
--->['pp', 'b', 'c', 'd', 'e']

 

删除列表内的元素:

可以使用 del 语句来删除列表的的元素

list_1=['a','b','c','d','e']
del list_1[0]
print(list_1)
--->['b', 'c', 'd', 'e']

 

Python列表包含以下函数

序号函数
1 len(list) 列表元素个数
2 max(list) 返回列表元素最大值
3 min(list) 返回列表元素最小值
4 list(seq) 将元组转换为列表

包含以下方法:

序号方法
1 list.append(obj) 在列表末尾添加新的对象
2 list.count(obj) 统计某个元素在列表中出现的次数
3 list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4 list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
5 list.insert(index, obj) 将对象插入列表
6 list.pop([index=-1]]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7 list.remove(obj) 移除列表中某个值的第一个匹配项
8 list.reverse() 反向列表中元素
9 list.sort(cmp=None, key=None, reverse=False) 对原列表进行排序
10 list.clear() 清空列表
11 list.copy() 复制列表
 

 

 

字典的常见操作:

这里是一个可能有用的通过字典解析实现的小技巧: 交换字典的 键和值。

>>>a_dict = {'a': 1, 'b': 2, 'c': 3}

>>>{value:key for key, value in a_dict.items()}

{1: 'a', 2: 'b', 3: 'c'}

 

 

增删改查:

  • <1>修改元素

  • <2>添加元素:

    • 使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素

  • <3>删除元素:

    • del删除指定的元素 : del字典名['键名']

    • del删除整个字典: del字典名

    • clear清空整个字典

  • <4>len():

    • 测量字典中键值对的个数 len(dict)

  • <5>keys:

    • 返回一个包含字典所有key的==列表==dict.keys()

  • <6>values:

    • 返回一个包含左右value的列表

  • <7>items:

    • 返回一个包含所有(键,值)元祖的列表

  • <8>has_key:

    • dict.has_key(key)如果key在字典中,返回True,否则返回False

字典的遍历:

  • 通过for ... in ...:的语法结构,我们可以遍历字符串、列表、元组、字典等数据结构。

    • <1> 遍历字典的key(键)

      • for key in xx:

      <2> 遍历字典的value(值)

      ​ for value in xx:

      <3> 遍历字典的项(元素)

      ​ for items in xx:

      <4> 遍历字典的key-value(键值对)

      ​ for key,value in xx:

 

posted @ 2018-07-30 11:59  razryang  阅读(385)  评论(0编辑  收藏  举报