Python基础知识-Part4:循环、dict、set、不可变对象

循环

1、Python中的循环,有“while”循环和“for”循环两种。

2、“for”循环不同于C/C++/Java的“for”循环,Python的“for”循环需要列表(list)或者元组(tuple)做辅助之用,且循环条件判断是“是否到达列表或者元组的末尾,到达即退出”。

3、使用“for”循环时,如有二维列表二维元组,单重循环只对一维形态下的元素有效。此时请使用双重循环

4、使用“for”循环时,如需计数判断,类似C/C++/Java中的“for (int i = 0; i <= 100 ; i++)”时,需要通过“rang()”函数生成一个从0开始,参数减1为止的整数序列,可以直接使用,也可转换成列表或者元组。请记住,“rang(101)”是“0~100”,“i 小于等于100”,“i 小于101”。

5、“while”循环基本同C/C++/Java,判断条件可以为,可以为表达式

6、“break”和“continue”的用法基本同C/C++/Java。“break”跳出与其相离最近循环;“continue”是提前结束本轮循环,进入下一轮。

names = ["Seven", "Jack", "Ace", "Taro"]
for name in names:
    print(name)

print("\n")

classmates = ("A", "B", ("C", "D"))
for classmate in classmates:
    print(classmate)

print("\n")

for classmate in classmates:
    for classmate_in in classmate:
        print(classmate_in)

print("\n")

sum = 0
print("请计算1~100的和")
# for i in range(101):
# for i in list(range(101)):
for i in tuple(range(101)):
    sum += i
print("结果为:%d" % (sum))

print("\n")

sum = 0
n = 100
while n > 0:
    sum += n
    n -= 1

# while 1:
#     sum += n
#     n -= 1
#     if n == 0:
#         break

print("n从100到0,sum = %d" % (sum))

print("\n")

n = 0
n = 0
while n < 10:
    n += 1
    if n % 2 == 0:
        continue
    print(n)

 

dict

1、“dict”,全称是“dictionary”,也就是字典。其他语言中也称作“map”。采用“键-值”(key-value)存放的方式。是“”的集合。只是存入“”的时候,会存入与“”对应的“”。

2、定义用大括号定义“{}”,“键-值”一一对应。使用时则用“[]”方括号,内部只能放“”。

3、添加新数据,可以直接“键-值”对应赋值放入。

4、修改某个“”对应的“”时,原来的“”将不做保存,直接覆盖。

5、通过“键”取“值”,如果“键”不存在,则会报Error。

6、通过“‘in your_dict_name”的方式,可以判断该“”是否存在,存在返回“True”,不存在返回“False”。

7、判断存在,还可以通过“your_dict_name.get(‘键’)”的方式,存在返回“值”,不存在默认返回“None”,也可以返回自定义值,即“your_dict_name.get(‘键’, “自定义值”)”。

8、删除一个“”,调用“pop()”的方法,“your_dict_name.pop(‘键’)”来删除“”,同时“”对应的“”也会同时删除。

9、相对“列表(list)”来说,“dict”的查找和插入速度快,同时不会随数据增多而变慢,但是占用内存大,内存浪费多。所以“dict”采用空间换时间。

10、“dict”的“”不可变,可以是固定的整数、字符串,但是不可以为“列表”。

dict_name_score = {'Seven': 95, 'Jack': 90, 'Ace': 80}
print("dict_name_score: %s" % (dict_name_score))
print("dict_name_score['Seven']:%d" % (dict_name_score['Seven']))
# Error,[]内只能是键值,key
# print("dict_name_score[1]:%d" % (dict_name_score[1]))

print("\n")

dict_name_score['Taro'] = 75
print("dict_name_score['Taro'] = 75")
print("dict_name_score['Taro']:%d" % (dict_name_score['Taro']))

print("\n")

dict_name_score['Ace'] = 85
print("dict_name_score['Ace'] = 85")
print("dict_name_score['Ace']:%d" % (dict_name_score['Ace']))

print("\n")

if 'Leo' in dict_name_score:
    print("dict_name_score['Leo']:%d" % (dict_name_score['Leo']))
else:
    print("'Leo' in dict_name_score return is %s" % ('Leo' in dict_name_score))

print("\n")

if dict_name_score.get('Seven'):
    print("dict_name_score.get('Seven'): %d" % (dict_name_score['Seven']))
else:
    print("dict_name_score.get('Seven') is return %s" %
          (dict_name_score.get('Seven')))

print("\n")


if dict_name_score.get('Leo', -1) != -1:
    print("dict_name_score.get('Leo', -1): %d" % (dict_name_score['Leo']))
else:
    print("dict_name_score.get('Leo', -1) is return %d" %
          (dict_name_score.get('Leo', -1)))
    print("dict_name_score.get('Leo') is return %s" %
          (dict_name_score.get('Leo')))

print("\n")

dict_name_score.pop('Seven')
print("dict_name_score.pop('Seven')")
print("dict_name_score:%s" % (dict_name_score))

print("\n")

 

set

1、“set”和“dict”类似,均为“键”的集合。但是,“set”并不保存跟“键”相对应的“值”。

2、“set”中的“”不能单个取出使用。可以集体输出。

3、生成“set”时,需要一个“list”或者“tuple”做“”导入。但是,“list”本身不可以作为“”,“tuple”可以。

4、“set”内部的“”属于无序不重复序列,可以看成是数学上的“集合”。而且,这个“无序”完全就是看心情,很随性的“无序”。

5、“add()”和“remove()”分别可以添加和删除“set”中的“”。添加和删除成功均返回“None”,添加已存在和不存在都是“None”,但是,删除已存在是“None”,删除的“键”不存在则直接Error

6、“set”可以做“取交集”、“取并集”的操作,“交集”是“&”运算、“并集”是“|”运算。

7、同样的,“set”的“”不可以是“list”,其“”是导入“list”内部元素的,而非“list”。

set_name = set([1, 2, 3])
print("set_name:%s" % (set_name))

print("\n")

list_name = [2, 4, 3, 7, 8]
# print("list_name:%s" % (list_name))
set_name_list = set(list_name)
print("set_name_list:%s" % (set_name_list))

print("\n")

set_name_list_other = set([2, 4, 3, 7, 8])
print("set_name_list_other:%s" % (set_name_list_other))

print("\n")

list_name_unOrder = [3, 7, 7, 8, 5]
# print("list_name_unOrder:%s" % (list_name_unOrder))
set_name_unOrder = set(list_name_unOrder)
print("set_name_unOrder:%s" % (set_name_unOrder))

print("\n")

set_name_unOrder_other = set([3, 7, 7, 8, 5])
print("set_name_unOrder_other:%s" % (set_name_unOrder_other))

print("\n")

t1 = (1, 2)
t2 = (3, 2)
st1 = set(t1)
st2 = set(t2)
st = set([t1, t2, 3])
print("st1:%s" % (st1))
print("st2:%s" % (st2))
print("st:%s" % (st))

print("\n")

set_name.add(4)
set_name.remove(4)
print("set_name.add(4) is return %s" % (set_name.add(4)))
print("set_name.add(4) again is return %s" % (set_name.add(4)))
print("set_name:%s" % (set_name))

print("\n")

set_name.add(4)
print("set_name.add(4) again")
print("set_name:%s" % (set_name))

print("\n")

set_name.remove(4)
set_name.add(4)
print("set_name.remove(4) is return %s" % (set_name.remove(4)))
# print("set_name.remove(4) again is return %s" % (set_name.remove(4)))
print("set_name:%s" % (set_name))

print("\n")

s1 = set([1, 2, 3])
s2 = set([3, 4, 7, 8])
print("s1 & s2:%s" % (s1 & s2))
print("s1 | s2:%s" % (s1 | s2))

print("\n")

 

不可变对象

1、“list”有个排序操作“sort()”。因为“list”是可变对象,所以存在这个操作。

2、“变量指向对象”。只能改变指向,无法改变对象本身。

3、对字符串操作,只是在原来字符串的基础上,额外生成了新的字符串如下面代码所示。

a = [4, 2, 1, 5]
a.sort()
print("a:%s" % (a))

print("\n")

b = 'abc'
b.replace('a', 'A')
print("b.replace('a', 'A'):%s" % (b.replace('a', 'A')))
print("b:%s" % (b))

print("\n")

c = b.replace('a', 'A')
print("b:%s, c:%s" % (b, c))

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值